Подтвердить что ты не робот

NSSet containsObject: тест для равенства указателя или равенства значений?

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

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

4b9b3361

Ответ 1

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