我有两个实体,它们之间是一对多关系。持有"many“的实体具有预期的NSSet属性。我不确定的是如何访问NSSet中的特定元素。NSSet包含具有多个属性的对象,其中一个属性是currentWeek。我想在我的NSSet中访问一个具有特定currentWeek的对象。
我知道我可以使用FetchRequest来找到它,但我假设使用NSSet有一种更简单的方法。
发布于 2011-02-16 02:49:51
你有几个选择。
NSArray* objectsArray = [yourSet allObjects];这将使用集合中的所有对象填充objectsArray,此时您可以枚举这些对象以查找所需的一个或多个对象。
您还可以使用类似如下的谓词:
NSPredicate *desiredWeekPredicate = [NSPredicate predicateWithFormat:@"currentWeek == %d", currentWeekYouWant];
NSSet *objectsWithDesiredWeek = [yourSet filteredSetUsingPredicate:predicate];(根据存储currentWeek的方式不同,谓词看起来会有所不同)。如果每个currentWeek只有一个对象,那么可以在objectsWithDesiredWeek集合上调用-anyObject来获取对象。如果可以有多个对象具有相同的currentWeek,那么在objectsWithDesiredWeek上调用-allObjects方法将得到一个数组,其中包含使用所需星期的所有对象。
https://stackoverflow.com/questions/5005923
复制相似问题