[英]iPhone - Core Data Model Design Question
我正在审核斯坦福大学的iTunesU iPhone开发课程,并且正在尝试使用Core Data。
本质上,该应用程序有两个利用核心数据的选项卡:1)收藏照片 - 这是用户选择“喜欢”照片的位置列表(来自Flickr)。 (如果在给定位置没有“收藏”照片,则会从此列表中删除)。 2)最近的照片 - 这是用户最近查看的照片列表。
我最初的想法是使用两个实体:照片和位置,其中Photo将具有“whereTaken”关系,这将是一个位置,而Location将具有反向关系“photos”以包含来自该位置的所有Photo对象。
但是,对于这个模型,我对如何跟踪给定位置是否有任何“收藏”照片感到困惑。 该作业建议在“位置”实体中保留一个属性,以指定该位置是否有任何“收藏”的照片。
所以 - 这是我的问题:
也许,我认为这完全错了 - 无论哪种方式,我都会感谢任何关于在这种情况下设计核心数据模型的建议,一般或具体的建议。
非常感谢您的时间和帮助!
你应该读一下NSPredicate。 您可以将此附加到获取请求以过滤您要检索的照片。 创建两个不同的Photo实体很可能是一个错误。 您可能希望向Photo实体添加BOOL属性“isFavorite”。 然后,在获取照片时,您会使用以下内容:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"isFavorite == %@", [NSNumber numberWithBool:YES]];
您还可以制作稍微复杂的谓词,以过滤收藏状态和位置。
您可以在“位置”实体中创建一个已获取的属性,并使其仅使用相应的谓词获取“已收藏”的照片。
希望有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.