0
目前我正在使用使用RestKit進行通信的iOS應用程序。 我成功檢索並添加了數據。但是從數據庫更新和刪除數據不起作用。RestKit刪除和更新功能不起作用
我用下面的代碼添加新條目的數據庫:
[[RKClient sharedClient] get:@"/tblTests" delegate:self];
RKObjectMapping *venueMapping = [RKObjectMapping mappingForClass:[Venue class]];
RKURL *baseURL = [RKURL URLWithBaseURLString:@"http://10.10.3.101/WcfService1/WcfDataService1.svc/"];
RKObjectManager *objectManager = [RKObjectManager objectManagerWithBaseURL:baseURL];
objectManager.client.baseURL = baseURL;
[venueMapping mapKeyPathsToAttributes:@"Name",@"name", nil];
[objectManager.mappingProvider setMapping:venueMapping forKeyPath:@"value"];
[objectManager loadObjectsAtResourcePath:@"/tblTests/" delegate:self];
RKObjectMapping* venueMappingS = [RKObjectMapping mappingForClass:[Venue class]];
venueMappingS.setDefaultValueForMissingAttributes = YES;
[venueMappingS mapKeyPath:@"Name" toAttribute:@"name"];
RKObjectRouter *router = [[RKObjectRouter alloc] init];
[router routeClass:[Venue class] toResourcePath:@"/tblTests/"];
[router routeClass:[Venue class] toResourcePath:@"/tblTests/" forMethod:RKRequestMethodPOST];
[[[RKObjectManager sharedManager] mappingProvider] setMapping:venueMappingS forKeyPath:@"value"];
[[RKObjectManager sharedManager].mappingProvider setSerializationMapping:[venueMappingS inverseMapping] forClass:[Venue class]];
[RKObjectManager sharedManager].router = router;
[RKObjectManager sharedManager].serializationMIMEType = RKMIMETypeJSON;
[RKObjectManager sharedManager].acceptMIMEType = RKMIMETypeJSON;
Venue *venueName = [[Venue alloc] init];
venueName.name = @"Midhun MP";
venueName.Id = 12;
[[RKObjectManager sharedManager] postObject:venueName delegate:self];
它完美,然後我用同樣的代碼只有這兩條線改變:
[router routeClass:[Venue class] toResourcePath:@"/tblTests/" forMethod:RKRequestMethodPOST];
[[RKObjectManager sharedManager] postObject:venueName delegate:self];
到
[router routeClass:[Venue class] toResourcePath:@"/tblTests/" forMethod:RKRequestMethodDELETE];
[[RKObjectManager sharedManager] deleteObject:venueName delegate:self];
這不工作!
我的地點類:
@interface Venue : NSObject
@property (strong, nonatomic) NSString *name;
@property (nonatomic) int Id;
@end
我的JSON的樣子:
{"value":[{"Id":1,"Name":"Midhun"},{"Id":12,"Name":"Midhun MP"}]}
我找不到任何問題,請幫助我。
我試過了,得到如下錯誤:**錯誤:操作無法完成。 (org.restkit.RestKit.ErrorDomain error 4。)** – 2013-04-09 04:49:45
您可以使用RKLogConfigureByName(「RestKit/*」,RKLogLevelTrace); //添加到AppDelegate',再次嘗試併發布完整的錯誤消息(跟蹤)作爲補充做你的答案? – flashfabrixx 2013-04-12 13:45:27
'[router routeClass:[Venue class] toResourcePath:@「/ tblTests /:Id \\ .json」forMethod:RKRequestMethodDELETE];'你應該確保你的資源路徑是有效的,並且使用正確的HTTP方法。上面的錯誤可能是因爲你的資源url不正確。 – masam 2013-05-23 11:02:06