Ios 分离核心数据中单个对象模型的组件
我正在为核心数据中的数据设计体系结构。我的问题:我有一个Ios 分离核心数据中单个对象模型的组件,ios,cocoa-touch,core-data,Ios,Cocoa Touch,Core Data,我正在为核心数据中的数据设计体系结构。我的问题:我有一个列表对象。在我开始使用核心数据之前,我将其定义为NSObject的一个子类,但现在我使用的是核心数据、NSManagedObject等。我想知道是否应该将列表对象的组件分解,就像这样分解为核心数据 本质上,列表对象由 NSString uniqueID NSString name BOOL completed BOOL notifyMe NSDate notifyDate NSDate creationDate 考虑到NSManagedO
列表
对象。在我开始使用核心数据之前,我将其定义为NSObject的一个子类,但现在我使用的是核心数据、NSManagedObject等。我想知道是否应该将列表对象的组件分解,就像这样分解为核心数据
本质上,列表
对象由
NSString uniqueID
NSString name
BOOL completed
BOOL notifyMe
NSDate notifyDate
NSDate creationDate
考虑到NSManagedObject迫使您一次加载整个对象,这看起来像是单个对象的大量数据。在列表
对象之间建立一对一的关系,并说一个名为列表详细信息
的新对象,其中列表
变为
NSString uniqueID
NSString name
BOOL completed
而ListDetails
是
BOOL notifyMe
NSDate notifyDate
NSDate creationDate
提前感谢您的建议
附加注意事项:
每个
列表
还将与名为列表项
的实体
建立一对多关系。换句话说,目前我有两个实体
,一个列表
和列表项
。如果我将列表
分解为两个组件(列表
和列表详细信息
),我的一对多关系是否仍然只是与列表
的关系?除非您非常确定名称或唯一ID将变得超长,否则即使有六个属性,内存占用也将非常小(特别是当两个是BOOL
s时)
若您找到需要获取大量列表实体但只需要两个属性的位置,则可以设置一个获取请求,将其返回类型设置为dictionary,并指定所需的属性。例如,您可以获取所有未完成的实体,需要通知,且日期已通过comp查找谓词并让它在字典中返回名称和唯一ID
如果将其分解,则列表
可能是与列表项
和列表详细信息
相关的中心
如果通知日期不是用户需要随时查看的内容,您也可以将其存储为
NSTimeInterval
,它比NSDate稍轻一点,并且很容易检查它是否已经过了。除非您非常确定名称或uniqueID将变为超长,否则内存占用将变为b即使有六个属性(特别是当两个属性是BOOL
s)时,e也非常小
若您找到需要获取大量列表实体但只需要两个属性的位置,则可以设置一个获取请求,将其返回类型设置为dictionary,并指定所需的属性。例如,您可以获取所有未完成的实体,需要通知,且日期已通过comp查找谓词并让它在字典中返回名称和唯一ID
如果将其分解,则列表
可能是与列表项
和列表详细信息
相关的中心
如果通知日期不是用户需要随时查看的内容,您也可以将其存储为NSTimeInterval
,它比NSDate稍轻一点,并且很容易检查它是否已过