2

我正在尝试分配布尔类型的属性的值。当我尝试这样做时,我最终出现了这个错误

作业似乎已崩溃:分段错误:11

下面是代码:

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];

我有三个属性 name , email 和 mailed 。当我尝试更改实体的邮寄属性时,它会抛出上述错误。Mailed 是布尔类型。其他属性是更新时确实更改的字符串。

4

1 回答 1

3

不确定这是否是您正在寻找的解决方案。检查您的 coredata 模型类并确保mailed声明为NSNumber而不是BOOL. 因此,每当您存储或阅读时,您都需要从一种转换为另一种。

NSNumber *aNumber = [NSNumber numberWithBool:mailed];

BOOL mailed = [aNumber boolValue];
于 2012-10-11T05:32:32.100 回答