Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 分离核心数据中单个对象模型的组件_Ios_Cocoa Touch_Core Data - Fatal编程技术网

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稍轻一点,并且很容易检查它是否已过