В CoreData это довольно просто, чтобы вставить/обновить/или удалять любой объект модели. Предположим, у вас есть объект управляемого объекта с именем MyObject. В своем управляемом объекте подкласса вы имеете три свойства:
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSString * age;
@property (nonatomic, retain) NSString * type;
Теперь, если вы хотите, чтобы вставить значение этого объекта, вы, чтобы сделать что-то вроде этого:
AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
NSManagedObjectContext *managedObjectContext = [appDelegate managedObjectContext];
MyObject *myObject = [NSEntityDescription insertNewObjectForEntityForName:@"MyObject" inManagedObjectContext:managedObjectContext];
myObject.name = @"a";
myObject.age = @"30";
myObject.type = @"type";
NSError *error;
if([managedObjectContext save:&error])
{
// success alert
}
Чтобы обновить объект , это гораздо более простой процесс. Предположим, что у вас есть ранее сохраненный экземпляр класса объекта модели с именем myObject. Все, что вы сделать, чтобы обновить это, как показано ниже:
myObject.name = @"a";
myObject.age = @"30";
myObject.type = @"type";
NSError *error;
if([managedObjectContext save:&error])
{
// success alert
}
Чтобы удалить этот MyObject экземпляр:
[managedObjectContext deleteObject:myObject];
NSError *error;
if([managedObjectContext save:&error])
{
// success alert
}
Я надеюсь, что это помогает. Ура!
Не уверен, что вам нужно с вашего вопроса. Не могли бы вы привести пример? –
Я хочу обновить таблицу как тип имени B –
Найти B (с NSPredicate), изменить его тип, сохранить его (с помощью контекста). Вот как работает CoreData. – Larme