Iphone 核心数据预取不适用于某些关系

Iphone 核心数据预取不适用于某些关系,iphone,ios,cocoa-touch,core-data,Iphone,Ios,Cocoa Touch,Core Data,我正在对MessageObject执行提取请求并预取以下内容: [fetchRequest setRelationshipKeyPathsForPrefetching: [NSArray arrayWithObjects:@"tags", @"date", nil]]; 标记是一种多对多关系(即,标记可以有多条消息,消息可以有多个标记),而日期是一种多对一关系(即,消息只能有一个日期,而日期可以有多条消息) 当我向下滚动表格时,我可以访问标签和日期。我启用了SQLite调试,所以每次核心

我正在对MessageObject执行提取请求并预取以下内容:

[fetchRequest setRelationshipKeyPathsForPrefetching:
   [NSArray arrayWithObjects:@"tags", @"date", nil]];
标记是一种多对多关系(即,标记可以有多条消息,消息可以有多个标记),而日期是一种多对一关系(即,消息只能有一个日期,而日期可以有多条消息)

当我向下滚动表格时,我可以访问标签和日期。我启用了SQLite调试,所以每次核心数据执行错误请求时,它都会出现在日志中。由于某些原因,没有预取日期属性,因为每次滚动时,我都会从数据库中获取以下信息:0x85bc7b0的
CoreData:annotation:fault completed

但是,这不会显示在标记中,仅显示日期。如果我没有预取Tags属性,那么当我滚动时,标签会显示相同的消息,因此我知道预取正在工作,只是日期属性没有


关于预取有什么我不了解的吗?日期对象有一个字符串属性,在我的cellForRow中,我访问了这个字符串属性,由于某种原因导致错误触发(即使它在预取后应该已经实现了)。我误解了什么吗?

您的日期有多准确?如果只需要一秒钟,最好不要使用关系,而是使用
NSDate
property/attribute。我需要它作为关系,以便我的日期对象可以有多个消息对象。NSDate不包括小时、分钟和秒吗?您仍然可以使用谓词访问多条消息。