首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSManagedObject子类(CoreData)中数字的KVC遵从性

问NSManagedObject子类(CoreData)中数字的KVC遵从性
EN

Stack Overflow用户
提问于 2009-03-20 20:50:06
回答 1查看 1.2K关注 0票数 0

我正在尝试对NSManagedObject子类排序的基本测试。我设置了一个基本子类"TestClass“,它有两个属性:stringField和numberField。他们使用标准的Obj-C2.0访问协议:

代码语言:javascript
复制
@interface TestClass : NSManagedObject
@property (retain) NSString *stringField;
@property (retain) NSNumber *numberField;
@end

@implementation TestClass
@dynamic stringField;
@dynamic numberField;
@end

当我试图获取这个实体的实例时,我可以根据任何一个属性进行提取。但是,如果我使用排序描述符,则numberField被称为不兼容KVC。

在模型中,我将numberField设置为Int64,但我感到困惑。我认为包装器(NSNumber)会处理KVC问题。我需要做些什么才能让这件事成功?

EN

回答 1

Stack Overflow用户

发布于 2009-03-21 22:13:14

一些首字母“计算机在吗?”-type问题:

  1. 您的模型指定实体的托管对象类是TestClass吗?
  2. ,您确定在指定排序描述符中的键时拼写正确吗?
  3. 是模型中的临时属性?

这些是我可以想到的常见问题,当使用排序描述符(特别是第一个描述符)获取数据时,这些问题可能会导致这样的错误。

而且,这不会影响KVC,但是属性的属性声明应该是(copy)而不是(retain),因为它们是符合NSCopying协议的“值”类,并且可能具有可变的子类。您不希望在Core数据下面传递可变字符串并对其进行变异。(是的,可可中没有NSMutableNumber或NSMutableDate,但这并不妨碍创建MyMutableNumber或MyMutableDate子类.)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/667936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档