核心数据:在 NSMutableSet 中查找 NSEntity Objects 的属性

Posted

技术标签:

【中文标题】核心数据:在 NSMutableSet 中查找 NSEntity Objects 的属性【英文标题】:Core Data: Find the property of NSEntity Objects in NSMutableSet 【发布时间】:2013-04-27 00:50:39 【问题描述】:

如何有效地找到集合中 NSEntity 对象的属性?

我是这样实现的,但似乎效率低下。 有没有比这种方法更快、更简单、更有效的方法来查找集合中 NSEntity 对象的属性

soccerTeamViewController.players = [[NSMutableArray alloc] init];
for (GGPlayer *playa in chelsea.players) 
    [soccerTeamViewController.players addObject:playa.name];

^这里 chelsea 是一个 GGTeam,它有一组 GGPlayers 作为属性。

型号:

GGTeam:
@property (nonatomic, retain) NSMutableSet *players;

GGPlayer:
@property (nonatomic, retain) NSString *name;

从第一次 ios-er 开始。

【问题讨论】:

【参考方案1】:

    不要过早优化。你没有证据表明你正在做的事情是否效率低下。如果出现减速,请使用 Instruments 并找出答案。但不要猜测,尤其不要提前猜测。

    您所做的是完全标准的。

    还有一种更优雅的方式,即使用KVC,如下所述:

    iPhone - getting unique values from NSArray object

    但我没有理由认为这样做更效率

【讨论】:

很好的答案。谢谢。也许我专注于错误的事情(效率),而不是专注于完成应用程序。感谢反馈,并将查看 KVC 示例。 :) @matt

以上是关于核心数据:在 NSMutableSet 中查找 NSEntity Objects 的属性的主要内容,如果未能解决你的问题,请参考以下文章

NSSet和NSMutableSet 确保数据的唯一性--备

将核心数据对象设置为 NSSet

观察 NSMutableSet 的键值对

如何在 Swift 中将 NSSet 转换为 NSMutableSet

NSMutableSet 设置减组不工作

在核心数据中查找重复值