这两个属于NSSet类的方法有什么区别:
-(BOOL)containsObject:(id)anObject
-(id)member:(id)object
这两个属于NSSet类的方法有什么区别:
-(BOOL)containsObject:(id)anObject
-(id)member:(id)object
答案在返回值中。containsObject 根据你发送的对象是否属于该特定集合,返回 YES 或 NO。
member 返回 id,这意味着如果该对象是集合的一部分,则返回实际对象。
举个例子,你有一个 NSSet,名为 aSet,其中包含一个对象 anObject。anObject 属于该集合。
[aSet containsObject:anObject]; //returns YES
[aSet member:anObject]; //If the set contains an object equal to object (as determined by isEqual:) then that object (typically this will be object), otherwise nil.
如果一个对象在集合中不存在:
[aSet containsObject:anObject]; //return NO
[aSet member:anObject]; //return nil
member:
方法的返回值可能 不是anObject
。也就是说,如果集合中包含一个与参数通过isEqual:
方法相等的对象,则会返回该集合中的对象。 - bbum