2011-06-27 6 views
2

リムキットOM2を使用してjsonを取得し、iphone上のオブジェクトにマップするIm 現在、マッピングをどのように構成するのか混乱しています。Restkit OM2リレーションシップマッピング

以下は、私が唯一のこれらのそれぞれから補題と値のフィールドを必要とする例のJSONファイル

{ 
    -magic_verbs: [ 
    -{ 
    lemma: "work" 
    position: 5 
    score: "0.75" 
    value: "working" 
    } 
    -{ 
    lemma: "head" 
    position: 0 
    score: "0.75" 
    value: "heading" 
    } 
], 
magic_advs: [ 
-{ 
lemma: "not" 
position: 2 
score: "0.6" 
value: "not" 
} 
-{ 
lemma: "just" 
position: 2 
score: "0.6" 
value: "just" 
} 
] 
} 

です。そう、たとえば動詞クラスが

@interface Verbs : NSManagedObject { 

} 
@property (nonatomic,retain) NSString *lemma; 
@property (nonatomic,retain) NSString *value; 

@end 

@implementation Verbs 

@synthesize lemma,value; 

@end 

が含まれていますし、私は私がadjsマッピングのために同じことを行っているJSONを読み込み、コード

objectManager = [RKObjectManager objectManagerWithBaseURL:@"http://localhost:3000"]; 
     objectManager.objectStore = [RKManagedObjectStore objectStoreWithStoreFilename:@"RKRelationshipMappingExample.sqlite"]; 

     [RKObjectManager setSharedManager:objectManager]; 

     RKObjectMappingProvider* provider = [[RKObjectMappingProvider new] autorelease]; 

     RKObjectMapping* verbMapping = [RKObjectMapping mappingForClass:[Verbs class]]; 
     [verbMapping mapKeyPath:@"lemma" toAttribute:@"lemma"]; 
     [verbMapping mapKeyPath:@"value" toAttribute:@"value"]; 
     [provider setMapping:verbMapping forKeyPath:@"magic_verbs"]; 
[[RKObjectManager sharedManager] loadObjectsAtResourcePath:@"/api/users/1/magic_words" objectMapping:verbMapping delegate:self]; 

以下でマッピングを作成します。また、オブジェクトマッピングデータを格納する2つのnsarrayを含む単語というクラスもあります。しかし、これを実装して正しくリンクする方法はわかりません。

@interface Words : NSObject { 

    NSArray *_verbs; 
    NSArray *_adjs; 
} 

@property (nonatomic, retain) NSArray *verbs,*adjs; 
@end 

これに関するヘルプとガイダンスがあります。私はカタログプロジェクトの例を見て、それを実行することができましたが、それを自分のjsonファイルに適用するという概念をマスターすることはできませんでした。

おかげ

G

答えて

4

私はあなたがまだ気づいていない場合はGithubのページhere であるOM 2.0の新しいドキュメントを見てお勧めします。 JSONをオブジェクトにマップする方法については明らかにしています。

+0

はい、私はすでにそれを見つけてこの質問を更新するのを忘れていました。それはちょうどいくつかの歯がある問題だった今、うまく動作している。ありがとう – glogic