首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iPhone -核心数据模型设计问题

iPhone -核心数据模型设计问题
EN

Stack Overflow用户
提问于 2011-05-06 15:44:53
回答 2查看 231关注 0票数 0

我正在审核斯坦福大学的iTunesU iPhone开发课程,并试图使用核心数据。

本质上,应用程序有两个选项卡,利用核心数据: 1)最喜欢的照片-这是一个位置列表(来自Flickr),用户已经选择“喜爱”一张照片。(如果在给定位置没有照片“收藏”,则从此列表中删除)。2)最近的照片--这是用户最近浏览的照片列表。

我最初的想法是使用两个实体:照片和位置,其中照片将有一个关系"whereTaken“将是一个位置,而位置将有相反的关系”照片“包含来自该位置的所有照片对象。

然而,有了这个模型,我对如何跟踪给定位置是否留下了“收藏”照片感到有点困惑。赋值建议在location实体中保留一个属性,以指定该位置是否有“收藏”照片。

所以--以下是我的问题:

  1. 是否应该为"FavoritePhoto“和"RecentPhoto”创建单独的实体,而不是仅仅创建“照片”?
  2. 如果没有,是否建议(或可能)保留一组照片(仅为逆关系中的“最爱”)?
  3. 或者,每次删除“收藏夹”照片时,是否都需要在照片对象的NSSet上进行迭代,以查看是否还有其他“收藏”照片?或者,把收藏的照片记在位置上作为属性?

也许,我完全错了--不管是哪种方式,我都希望得到任何关于设计这种情况下的核心数据模型的建议,不管是一般性的还是具体的。

非常感谢您的时间和帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-06 20:50:01

你应该在NSPredicate上读一点。您可以将其附加到获取请求中,以筛选希望检索的照片。创建两个不同的照片实体很可能是一个错误。您可能需要将BOOL属性"isFavorite“添加到Photo实体中。然后,在获取照片时,您将使用以下内容:

代码语言:javascript
复制
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"isFavorite == %@", [NSNumber numberWithBool:YES]];

您还可以制作稍微复杂的谓词,以筛选最喜欢的状态和位置。

NSPredicate编程指南

票数 2
EN

Stack Overflow用户

发布于 2011-05-06 16:05:48

您可以在Location实体中创建一个获取属性,并让它只获取带有适当谓词的“收藏”照片。

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5913795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档