2012-01-12 3 views
0

すべてのヘルプコミュニティに事前に感謝!!私は初期の問題を持っていましたが、私は修正されました。 "[Personオブジェクト] - [Person alloc] initである必要があります。これで私のサーバーにPersonオブジェクトを追加できるようになりました。問題は、サーバー上のすべての値がnullで、1001コードを返すコード= 1001 "keyPathのオブジェクトマッピングが見つかりませんでした: ''" UserInfo = 0x5938ce0 {= RKObjectMapperKeyPath、NSLocalizedDescription = keyPathのオブジェクトマッピングを見つけることができませんでした: 「」} 私が間違っている任意のアイデア?ここNoobieと提供される任意の助けを感謝する! おおいや、あなたの中に南カルフォルニア場合は、この問題にレッスンのために支払うことを喜んで。のthnx再び!RESTkitコード1001がkeyPathのオブジェクトを見つけることができませんでした: "'"

RKObjectMapping* userMapping = [RKObjectMapping mappingForClass:[Person class]]; 
[userMapping mapKeyPath:@"updated_at" toAttribute:@"updatedAt"]; 
[userMapping mapKeyPath:@"created_at" toAttribute:@"createdAt"]; 
[userMapping mapKeyPath:@"name" toAttribute:@"name"]; 
[userMapping mapKeyPath:@"id" toAttribute:@"personId"]; 

RKObjectMapping* dogMapping = [RKObjectMapping mappingForClass:[Dog class]]; 
[dogMapping mapKeyPath:@"created_at" toAttribute:@"createdAt"]; 
[dogMapping mapKeyPath:@"person_id" toAttribute:@"spersonId"]; 
[dogMapping mapKeyPath:@"name" toAttribute:@"name"]; 
[dogMapping mapKeyPath:@"updated_at" toAttribute:@"updatedAt"]; 
[dogMapping mapKeyPath:@"id" toAttribute:@"dogId"]; 

RKObjectMapping *dataMapping = [RKObjectMapping mappingForClass:[Data class]]; 
[dataMapping mapKeyPath:@"dog" toAttribute:@"dogs"]; 
[dataMapping mapKeyPath:@"person" toRelationship:@"person" withMapping:userMapping]; 
[[RKObjectManager sharedManager].mappingProvider addObjectMapping:dataMapping]; 

[[RKObjectManager sharedManager].mappingProvider setMapping:userMapping 
forKeyPath:@"people"]; 

RKObjectRouter * router = [RKObjectManager sharedManager].router; 
[router routeClass: [Person class] toResourcePath:@"/people/:personId"]; 
[router routeClass: [Person class] toResourcePath:@"/people" 
forMethod:RKRequestMethodPOST]; 

RKObjectMapping *personSerializationMapping= [RKObjectMapping mappingForClass: 
[NSMutableDictionary class]]; 
[personSerializationMapping mapAttributes:@"name", nil]; 
[[RKObjectManager sharedManager].mappingProvider 
setSerializationMapping:personSerializationMapping forClass: [Person class]]; 

Person* daveLiu =[[[Person alloc]init]autorelease]; 
daveLiu.name = @"dave"; 
[[RKObjectManager sharedManager] postObject:daveLiu delegate:self]; 
+0

サーバーに投稿したり、サーバーから読み取ろうとしていますか? – chourobin

答えて

1

すべてをマッピングしていますどのような私のサーバからの私のオブジェクトの "匿名"であり、私はRestKitでこれと同じ問題を抱えていました正しいマッピングを見つけてください。

{ 
    "Id": "12345678-1234-1234-1234-1234567890ab", 
    "Type": "SURVEY", 
    "Code": "1234", 
    "Description": "blah blah blah", 
    "Message": "blah blah blah", 
    "Url": "http://nowhere.com/", 
    "NextAttemptHours": 4 
} 

がにマップすることができます:全てのこのようなサーバから来

[objectManager postObject:object mapResponseWith:[object objectMapping] delegate:self]; 
[objectManager loadObjectsAtResourcePath:path objectMapping:mapping delegate:self]; 

だから今、私の契約:私はそれが私にはマッピングが含まれてみましょうのObjectManagerメソッドを使用していた固定方法正しいオブジェクト。オブジェクトマッピングを利用できるようにするのは少し余分な作業ですが、それは仕事です。私は、オブジェクトを非常にきれいに理解できる適切なobjectMappingを返すために、オブジェクトにクラスメソッドを実装することでそれを行いました。

関連する問題