1

フィールドを手動で定義することなく、RestKit を使用して、特定のエンティティ クラス名の自動マッピングを実行しようとしています。

Product例として、フィールドidname、 で呼び出される管理対象オブジェクトを想像してくださいtype。このエンティティはデフォルト ストアにあります。

この URL から製品のリストを取得する必要がありますhttp://machin.net/products

RKEntityMapping *map = [RKEntityMapping mappingForEntityForName:@"Product"
    inManagedObjectStore:[RKManagedObjectStore defaultStore]];

質問 1 defaultStoreは必要なストアを満たしていません。指定方法もわかりません。

[map addAttributeMappingsFromDictionary:@{
    @"id": @"id",
    @"name": @"name",
    @"type": @"type",
}];

質問 2ご覧のとおり、すべてのフィールドを使用していますが、ソースと宛先で同じです。RestKit に特定のクラスのすべてのフィールドを単純に使用するように指示する方法が見つかりませんでした。

4

2 に答える 2

5

質問 2について

を使用してエンティティを自動的にマップする簡単な方法を見つけましたRKPropertyIntrospector

NSEntityDescription *entity =
    [[managedObjectModel entitiesByName] objectForKey:@"Product"];
[map addAttributeMappingsFromArray:[[[RKPropertyInspector sharedInspector]
    propertyInspectionForEntity:entity] allKeys]];

を使用して例外を追加することもできます@{} keysOfEntriesPassingTest

于 2013-05-27T08:53:33.100 に答える