objective-c - iOS 核心数据 - 段错误 11

标签 objective-c ios core-data segmentation-fault nsmanagedobjectcontext

我正在尝试分配 bool 类型属性的值。当我尝试这样做时,我最终遇到了这个错误

Job appears to have crashed: Segmentation fault: 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 的类型为 bool 值。其他属性是在更新时会发生变化的字符串。

最佳答案

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

NSNumber *aNumber = [NSNumber numberWithBool:mailed];

BOOL mailed = [aNumber boolValue];

关于objective-c - iOS 核心数据 - 段错误 11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12832386/

相关文章:

ios - 将主键添加到 RLMObject 需要迁移,有什么想法吗?

ios - 为什么 SKSpriteNode.addChild() 不工作

iphone - NSPredicate 用于排除尚未保存在 NSFetchedResultsController 中的 NSManagedObjects

ios - 滑动删除 UITableView 单元格动画在 swift 2 中不起作用

ios - 重复单元格背景颜色

objective-c - 标签栏作为 View Controller 顶层 View 的 subview ;画得不正确

objective-c - NSLog on Objects(如UIButton,UIView,NSString,NSDictionary),使用%@作为其描述

ios - 使用 Swift 创建分页 UICollectionView

iphone - 如何在objective-c上登录服务器并获取页面源?

multithreading - 跨线程合并更改时如何防止竞争状况?