のカテゴリがあり、別のカテゴリにNSManagedObjectContext
を挿入してアイテムを返します。NSManagedObject
NSManagedObjectContext
@implementation NSManagedObjectContext (GTEntity)
- (id)addEntity:(id)entity {
NSManagedObject *entityObject = [self objectWithID:[entity objectID]];
return entityObject;
}
@end
私の質問は、私が持っているのと同じタイプのオブジェクトをどのように返すかです。つまり、Cityがサブクラスである、で[ctx addEntity:city]
呼び出す場合、オブジェクトを他のコンテキストで取得したいのですが、タイプではなく同じタイプです。このタイプは汎用であり、実行時にエンティティから決定する必要があります。いくつかのマクロを見つけましたが、次の後にいくつかの奇妙なエラーがあります:City *city
NSManagedObject
NSManagedObject
objc_getClass(entity)
Expected "]"
(cls *)
#define objc_dynamic_cast(obj, cls) \
([obj isKindOfClass:(Class)objc_getClass(#cls)] ? (cls *)obj : NULL)