iOS 核心数据 - Segmentation Fault 11
Posted
技术标签:
【中文标题】iOS 核心数据 - Segmentation Fault 11【英文标题】:iOS core data - Segmentation Fault 11 【发布时间】:2012-10-11 04:48:26 【问题描述】:我正在尝试分配布尔类型属性的值。当我尝试这样做时,我最终会出现此错误
作业似乎已崩溃:分段错误: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 是布尔类型。其他属性是在更新时会发生变化的字符串。
【问题讨论】:
如何在 coredata 模型类中声明 mailed?是 NSNumber 的 Bool 类型吗? 【参考方案1】:不确定这是否是您正在寻找的解决方案。检查您的 coredata 模型类并确保 mailed
被声明为 NSNumber
而不是 BOOL
。因此,无论何时存储或阅读,都需要从一种转换到另一种。
NSNumber *aNumber = [NSNumber numberWithBool:mailed];
BOOL mailed = [aNumber boolValue];
【讨论】:
所以在 .xcdatamodel 文件中它仍然是布尔值? 那么当我存储时,我应该将它存储为 NSNumber 还是 Bool?对不起,只是想清楚谢谢 在您的 .xcdatamodel 中,您需要将其保存为布尔值。在您的 coredata 模型类 SalesPerson 中,您需要将此属性保存为 NSNumber。以上是关于iOS 核心数据 - Segmentation Fault 11的主要内容,如果未能解决你的问题,请参考以下文章
Linux:段错误(核心已转储) Segmentation fault (core dumped)(在Linux上如何得到一个段错误的核心转储)(笔记)(未完成,暂停)
图像分割模型——segmentation_models_pytorch和albumentations 组合实现多类别分割
论文阅读 | A Curriculum Domain Adaptation Approach to the Semantic Segmentation of Urban Scenes