やあ、
RKFetchedResultsTableController
WS からデータをフェッチし、テーブルビューを駆動するために を使用しています。
RKTableViewCellMapping
モデルとセルをマップするために使用しています。
cellMapping を設定する方法は次のとおりです。
RKTableViewCellMapping *cellMapping = [RKTableViewCellMapping cellMapping];
cellMapping.cellClassName = @"CrudCategoryCell";
cellMapping.reuseIdentifier = @"CrudCategory";
cellMapping.rowHeight = 100;
[cellMapping mapKeyPath:@"name.name" toAttribute:@"nameLabel.text"];
[cellMapping mapKeyPath:@"desc.desc" toAttribute:@"descLabel.text"];
[self.tableController mapObjectsWithClass:[CrudCategory class]
toTableCellsWithMapping:cellMapping];
ご覧のとおり、私のモデルは 1 つのクラスで表されますCrudCategory
。
このクラスには、次の 2 つの属性がname
ありdesc
ます。それぞれ と のタイプCrudCategoryName
ですCrudCategoryDesc
。
これらのクラスは から継承しNSManagedObject
ます。
アプリケーションの実行時:
Terminating app due to uncaught exception 'NSInternalInconsistencyException',
reason: 'Cannot build a tableView cell for object <NSManagedObject: 0x6c4fb90>
(entity: CrudCategory; id: 0x6c4d900 <x-coredata://FA7323F8-519D-4AA9-AC6E- BD30446B4C9B/CrudCategory/p210> ; data: <fault>):
No cell mapping defined for objects of type 'NSManagedObject''
次を使用して機能させることができました:
[self.tableController mapObjectsWithClass:[NSManagedObject class]
toTableCellsWithMapping:cellMapping];
それ以外の :
[self.tableController mapObjectsWithClass:[CrudCategory class]
toTableCellsWithMapping:cellMapping];
私が実際に得られないのは、例外が type のオブジェクトのマッピングがないと述べてNSManagedObject
いるNSManagedObject
ことCrudCategory
ですNSManagedObject
。
ここに私の環境があります:
- iOS5
- RestKit (github の最後の安定版)
- アーク
- 絵コンテ
誰かがアイデアを持っている場合:)
ありがとう !
編集 - 解決済み: 各エンティティに適切なクラスを指定することで、データモデルでこの問題を解決しました。