0

你如何检查两个NSMutableSets是否相等相同的成员,相同的成员数量)?

我的实施isEqualToSet似乎不起作用。

// members is a NSMutableSet of AUser objects

// users is also a NSMutableSet of AUser objects, it is an attribute of instances of the AGroup class

[[group valueForKey:@"users"] isEqualToSet:members]


AGroup
- users

AUser
- name  (String)

如何通过检查名称属性来检查集合是否相等?

很抱歉我的知识不足,这是我第一次接触iOS编程,所以我目前只知道基础知识。

4

1 回答 1

2

如果要检查相应的name属性是否相同,以下应该有效:

[[group valueForKeyPath:@"users.name"] isEqualToSet:[members valueForKey:@"name"]]

[group valueForKeyPath:@"users.name"]返回组中所有用户的名字集合,[members valueForKey:@"name"]返回集合中所有用户的名字members集合。

更新:正如评论中清楚的那样,members是一组字符串,而不是一组用户对象。因此代码简化为:

[[group valueForKeyPath:@"users.name"] isEqualToSet:members]
于 2013-03-08T06:16:49.713 回答