Разница между containsObject: и member: методы NSSet? - PullRequest
14 голосов
/ 04 июля 2011

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

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

1 Ответ

20 голосов
/ 04 июля 2011

Ответ лежит в возвращаемых значениях.containsObject возвращает YES или NO в зависимости от того, принадлежит ли отправляемый вами объект этому конкретному набору.

элемент возвращает 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
...