我正在审核斯坦福大学的iTunesU iPhone开发课程,并试图使用核心数据。
本质上,应用程序有两个选项卡,利用核心数据: 1)最喜欢的照片-这是一个位置列表(来自Flickr),用户已经选择“喜爱”一张照片。(如果在给定位置没有照片“收藏”,则从此列表中删除)。2)最近的照片--这是用户最近浏览的照片列表。
我最初的想法是使用两个实体:照片和位置,其中照片将有一个关系"whereTaken“将是一个位置,而位置将有相反的关系”照片“包含来自该位置的所有照片对象。
然而,有了这个模型,我对如何跟踪给定位置是否留下了“收藏”照片感到有点困惑。赋值建议在location实体中保留一个属性,以指定该位置是否有“收藏”照片。
所以--以下是我的问题:
也许,我完全错了--不管是哪种方式,我都希望得到任何关于设计这种情况下的核心数据模型的建议,不管是一般性的还是具体的。
非常感谢您的时间和帮助!
发布于 2011-05-06 20:50:01
你应该在NSPredicate上读一点。您可以将其附加到获取请求中,以筛选希望检索的照片。创建两个不同的照片实体很可能是一个错误。您可能需要将BOOL属性"isFavorite“添加到Photo实体中。然后,在获取照片时,您将使用以下内容:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"isFavorite == %@", [NSNumber numberWithBool:YES]];您还可以制作稍微复杂的谓词,以筛选最喜欢的状态和位置。
NSPredicate编程指南
发布于 2011-05-06 16:05:48
您可以在Location实体中创建一个获取属性,并让它只获取带有适当谓词的“收藏”照片。
希望这能有所帮助。
https://stackoverflow.com/questions/5913795
复制相似问题