Ios 核心数据中二进制或是/否变量的变量类型约定

Ios 核心数据中二进制或是/否变量的变量类型约定,ios,objective-c,core-data,binary,Ios,Objective C,Core Data,Binary,IOS新手,具有PHP背景,在此学习核心数据 什么变量类型是二进制的最佳实践,即核心数据中的是/否或真/假值 在PHP中,约定是使用tinyint或0,1。核心数据似乎有一个布尔基元,但也可以使用NSNumber、int等 我目前正在使用Boolean作为.xcdatamodel文件中的变量类型,但是在从开关捕获二进制变量、尝试进行if-else比较等方面遇到了很多问题,因此我希望以正确的方式进行比较。Thx.CoreData的布尔类型不是“实”布尔值,因为布尔值不是对象。您应该将它们存储为NS

IOS新手,具有PHP背景,在此学习核心数据

什么变量类型是二进制的最佳实践,即核心数据中的是/否或真/假值

在PHP中,约定是使用tinyint或0,1。核心数据似乎有一个布尔基元,但也可以使用NSNumber、int等


我目前正在使用Boolean作为.xcdatamodel文件中的变量类型,但是在从开关捕获二进制变量、尝试进行if-else比较等方面遇到了很多问题,因此我希望以正确的方式进行比较。Thx.

CoreData的布尔类型不是“实”布尔值,因为布尔值不是对象。您应该将它们存储为NSNumber并将其转换为布尔值

设置:

获取:


我希望这有帮助

那么在xcdatamodel文件中,我应该将类型设为NSNumber?在上面的示例中,我看到了实体,但属性名在哪里?这也适用于键值编码,例如[record setValue:pub-forKey:@“pub”];如果pub是值为1或0的NSNumber类型的属性?最后,在进行比较时,我可以说如果(self.entity.pub==1)pub是属性,那么“binary”是属性名。键值编码应该以同样的方式工作。在最后一个问题上,是的,它可以工作,或者您可以将self.entity.pub属性转换为布尔值,并在if语句中使用它。
[entity setBinary:[NSNumber numberWithBool:YES]];
BOOL isBinaryOn = [[entity binary] boolValue];