Objective c iOS核心数据-分段故障11
我正在尝试为布尔类型的属性赋值。当我试着这样做时,我最终犯了这个错误 作业似乎已崩溃:分段错误:11 代码如下:Objective c iOS核心数据-分段故障11,objective-c,ios,core-data,segmentation-fault,nsmanagedobjectcontext,Objective C,Ios,Core Data,Segmentation Fault,Nsmanagedobjectcontext,我正在尝试为布尔类型的属性赋值。当我试着这样做时,我最终犯了这个错误 作业似乎已崩溃:分段错误:11 代码如下: NSMutableArray *emails = [[NSMutableArray alloc] init]; NSError *error = nil; //This is your NSManagedObject subclass SalesPerson * client = nil; NSFetchRequest * request = [[NSFetchRequest
NSMutableArray *emails = [[NSMutableArray alloc] init];
NSError *error = nil;
//This is your NSManagedObject subclass
SalesPerson * client = nil;
NSFetchRequest * request = [[NSFetchRequest alloc] init];
[request setEntity:[NSEntityDescription entityForName:@"SalesPerson" inManagedObjectContext:self.managedObjectContext]];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name == %@", query];
[request setPredicate:predicate];
NSArray *results = [self.managedObjectContext executeFetchRequest:request error:&error];
client = [results objectAtIndex:0];
client.mailed = TRUE;
NSLog(@"client email %@",client.email);
[emails addObject:client.email];
我有三个属性名称、电子邮件和邮件。当我试图更改实体的属性mailed时,它会抛出上述错误。Mailed属于布尔类型。其他属性是字符串,在更新时会发生更改。不确定这是否是您正在寻找的解决方案。检查您的coredata模型类,确保
mailed
声明为NSNumber
,而不是BOOL
。因此,无论何时存储或读取,都需要从一个转换到另一个
NSNumber *aNumber = [NSNumber numberWithBool:mailed];
BOOL mailed = [aNumber boolValue];
如何在coredata模型类中声明mailed?它是NSNumber的Bool类型吗?那么在.xcdatamodel文件中它仍然是布尔型的吗?那么当我存储它时,我应该将它存储为NSNumber还是Bool?抱歉,我只是想澄清一下。在.xcdatamodel中,您需要将其保存为布尔值。在coredata模型类SalesPerson中,需要将此属性另存为NSNumber。