そのため、いくつかのCoreDataエンティティに共通するいくつかのプロパティがあります。メモ、URLなど。
この情報を編集するための単一のViewControllerがあり、エンティティをNSManagedObjectとして渡します。
@property (nonatomic, retain) NSManagedObject *editedObject;
@property (nonatomic, retain) Thing *thing;
@property (nonatomic, assign, getter=isEditingThing) BOOL editingThing;
そして、実際にオブジェクトを変更できる状態にするために、
if([editedObject isKindOfClass:[Thing class]]) {
thing = (Thing *)editedObject;
editingThing = YES;
}
そうすれば、Thingに値を設定して、通常のようにmanagedObjectContextを保存できます。
ただし、これはアプリケーションをクラッシュさせますが、フィールドを何度も編集するためにViewControllerに出入りする場合に限ります。
これが私の質問につながります:単一のView Controllerを使用して、複数のCore Dataエンティティの共通フィールドを編集するための最良の方法は何ですか?View Controllerを呼び出すときに、ブール値を設定して正しいエンティティプロパティを設定する必要がありますか?