Найдите объект в NSOrderedSet в CoreData. индекс (элемент доступности :)

У меня есть упорядоченное отношение ко многим, и Xcode 8 сгенерировал атрибут типа NSOrderedSet с набором вспомогательных функций для вставки и удаления элементов.

Теперь я пытаюсь найти объект, и в документации Apple указано, что для NSOrderedSet доступна следующая функция:

func index(of object: Any) -> Int  

Однако, когда я хочу использовать эту функцию, компилятор и автодополнение хотят, чтобы я вместо этого использовал следующую функцию:

func index(ofAccessibilityElement element: Any) -> Int  

который, кажется, ничего не находит.

Может ли кто-нибудь помочь мне понять, что происходит?


person Duzmac    schedule 14.10.2016    source источник
comment
Согласно документам, это func index(of: Any), а не of object: Any.   -  person dgatwood    schedule 15.10.2016
comment
Эта функция упоминается здесь: ссылка   -  person Duzmac    schedule 15.10.2016
comment
Мне просто интересно, я один получаю эту ошибку, или это ошибка, или я делаю что-то не так.   -  person Duzmac    schedule 15.10.2016
comment
Это действительно странно. Это противоречит тому, что показано здесь: developer.apple.com/reference/foundation/nsorderedset.   -  person dgatwood    schedule 16.10.2016


Ответы (1)


Автодополнение может и часто ошибается. Это может быть удобно, но это не ссылка на то, что правильно.

Я не знаю, что вы имеете в виду, когда компилятор хочет использовать этот метод, потому что это не то, что вам нужно для поиска объектов в упорядоченном наборе. Правильным методом будет index(of:), как в

var myset = NSMutableOrderedSet(array: [1, 2, 3])

myset.index(of:2)
person Tom Harrington    schedule 15.10.2016
comment
Спасибо, Том, я думаю, что немного устал, и я вызывал index(of:) для своей сущности вместо своего атрибута... Ваш ответ помог мне рассмотреть мою проблему. - person Duzmac; 16.10.2016