我的CoreData模型中有一个实体,它有一个布尔字段.它作为一个存储在CoreData实体上NSNumber
.我想要的是访问者使用BOOL
而不是NSNumber
,所以我可以使用
comment.isActive = YES;
Run Code Online (Sandbox Code Playgroud)
代替:
BOOL isCommentActive = [NSNumber numberWithBool:comment.isActive];
Run Code Online (Sandbox Code Playgroud)
我打算更改自动生成的实体类文件中的代码,但我被告知不要这样做,因为每次我提取模型时它都会覆盖.
我有一个实体的类别,我尝试编码一个访问器,将其转换BOOL
为同名,但这只会导致我陷入循环.
有些人提到方法眩晕,但对我来说这听起来很神奇.我应该创建一个返回不同名称原语的访问器吗?
Mar*_*n R 12
在Xcode中创建托管对象子类时,只需选择"使用基本数据类型的标量属性"选项.这将创建该属性
@interface MyEntity : NSManagedObject
@property (nonatomic) BOOL active;
@end
Run Code Online (Sandbox Code Playgroud)
并且所有转换都是在"引擎盖下"自动完成的.它实际上更有效,因为没有NSNumber
创建对象.
不幸的是,"核心数据编程指南"已经过时了,它仍然声称:
您可以将属性声明为标量值,但对于标量值,Core Data无法动态生成访问器方法 - 您必须提供自己的实现.
我所知道的唯一Apple"文档"是WWDC 2011会话视频,比较/sf/answers/986383541/.
归档时间: |
|
查看次数: |
3769 次 |
最近记录: |