Содержит ли NSSet containsObject: тест на равенство указателей или равенство значений? - PullRequest
30 голосов
/ 07 декабря 2011

Скажем, у меня есть NSSet со строкой в ​​нем.Если я отправлю containsObject: с другой строкой, которая является другим указателем, но точно таким же строковым значением, будет ли это возвращать YES?

Кроме того, будет ли это та же история, когда речь заходит о removeObject:?Т.е. удаление разных объектов с разными указателями, но одинаковыми строковыми значениями приведет к удалению?

1 Ответ

40 голосов
/ 07 декабря 2011

-containsObject: использует -isEqual:-hash) для проверки на равенство.Это относится также к -removeObject: и любым другим операциям в NSSet, которые зависят от некоторого понятия равенства.

...