0

結果に関して、次の2つの方法の違いは何ですか:

+ (id)insertNewObjectForEntityForName:(NSString *)entityName inManagedObjectContext:(NSManagedObjectContext *)context;

+ (NSEntityDescription *)entityForName:(NSString *)entityName inManagedObjectContext:(NSManagedObjectContext *)context;

それぞれをいつ使用する必要がありますか?

4

3 に答える 3

1

insertNewObjectForEntityForName:...NSManangedObject以下のコードと同じオブジェクトを返します。

NSManagedObjectModel *managedObjectModel =
        [[context persistentStoreCoordinator] managedObjectModel];
NSEntityDescription *entity =
        [[managedObjectModel entitiesByName] objectForKey:entityName];
NSManagedObject *newObject = [[NSManagedObject alloc]
            initWithEntity:entity insertIntoManagedObjectContext:context];
return newObject;

entityForName:..NSEntityDescription以下のコードと同じオブジェクトを返します。

NSManagedObjectModel *managedObjectModel = [[context persistentStoreCoordinator] managedObjectModel]; 
NSEntityDescription *entity = [[managedObjectModel entitiesByName] objectForKey:entityName]; 
return entity;
于 2014-01-30T12:21:03.890 に答える