Разница между containsObject: и member: методы NSSet?

В чем разница между этими двумя методами, принадлежащими классу NSSet:

-(BOOL)containsObject:(id)anObject
-(id)member:(id)object 

Ответы

Ответ 1

Ответ лежит в возвращаемых значениях. 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.

Если anObject не существует в aSet:

[aSet containsObject:anObject]; //return NO
[aSet member:anObject]; //return nil