我试图实现一个函数来编辑一些条目,或者如果什么都不存在,则创建一个新条目。 下面是代码NSManagedObject插入和编辑
NSManagedObject *newConnection = [[NSManagedObject alloc] init];
if(_connection != nil) {
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entityDesc = [NSEntityDescription entityForName:@"Connection" inManagedObjectContext:context];
[request setEntity:entityDesc];
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF == %@", _connection.connectionID];
[request setPredicate:pred];
NSError *error;
NSArray *objects = [context executeFetchRequest:request error:&error];
if([objects count] > 0) {
newConnection = objects[0];
}
}
else {
newConnection = [NSEntityDescription insertNewObjectForEntityForName:@"Connection" inManagedObjectContext:context];
}
_connection是对象,我从以前的观点越来越如果我想编辑的连接。我在executeFetchRequest
之后也得到1个对象,但是如果我试图将对象[0]分配给newConnection,我得到一个错误EXC_BAD_ACCESS
。 有没有更好的方法来做到这一点?我究竟做错了什么?
溶液:
NSManagedObject *newConnection;
代替NSManagedObject *newConnection = [[NSManagedObject alloc] init];
如果应该编辑连接,我从前一个视图中获取对象。 _connection是零当我试图添加新的连接 – D051P0
如果您创建,newConnection类型ID,并且不会瞬时执行第一行中的任何操作,它仍会崩溃吗? – DogCoffee
@Smick是的,它现在可行! – D051P0