rus*_*elf 6 iphone core-data objective-c
我已经建立了一个Core Data模型,我有两个对象,比如Person和Address.一个人有一个地址,一个地址可以属于很多人.我已经在核心数据中对其进行了建模(因此双箭头指向Person,而单箭头指向Address)
然后我为这些对象创建了两个类,并在这些类中实现了一些自定义方法.在核心数据模型中,我已将类的名称输入其中.
如果我直接从核心数据中获取地址,它会给我实际的具体类,我可以在其上调用我的自定义方法.
另一方面,如果我获取一个Person并尝试通过Person访问地址(例如:person.address)我得到一个NSManagedObject这是一个地址(例如:我可以获得我设置的所有核心数据属性)它)但它不响应我的自定义方法,因为它的类型为NSManagedObject而不是Address.这是Core Data的限制还是我做错了什么?如果是限制,有什么工作吗?
您是否使用建模器创建了这些类(选择实体,文件>新文件..,托管对象类,然后选择模型实体)?
前一段时间我遇到了类似的问题,因为我没有使用Modeller创建我的托管对象模型.我所做的是确保一切正常运行是复制并保存我的自定义方法(以及我实现的所有其他方法)并使用建模器从头开始.然后我能够再次自定义我的模型类,一切正常.
我知道这不是一个完整的答案,但也许它可以帮助你,直到有人解释到底发生了什么.
干杯!
您可能只是忘记在创建实体时在模型中设置类的名称 - 它默认为NSManagedObject.单击建模器中的Person和Address,并在最右侧列出实体属性,检查Class字段是否正确填充了相应目标C类的名称,而不仅仅是默认的NSManagedObject设置.
| 归档时间: |
|
| 查看次数: |
2206 次 |
| 最近记录: |