BridgeToObjectiveC недоступен в Swift Beta 5
Я пишу приложение, использующее bridgeToObjectiveC() для объекта String. Начиная с Beta 5 это больше не доступно.
Я пытаюсь сделать это:
self.myList.filter{($0 as MyClass).name.bridgeToObjectiveC().localizedCaseInsensitiveContainsString(searchText)}
Который дает мне ошибку:
'String' does not have a member named 'bridgeToObjectiveC'
Что такое эквивалентный код в бета-версии 5?
Ответы
Ответ 1
Используйте as
для перевода в NSString
для того же эффекта:
("string" as NSString).localizedCaseInsensitiveCompare("other string")
Или, например, с дополнительной цепочкой:
("string" as NSString?)?.localizedCaseInsensitiveCompare("other string")
Ответ 2
попробуйте
_bridgeToObjectiveC()
вместо
bridgeToObjectiveC()
следующим образом:
self.myList.filter{($0 as MyClass).name._bridgeToObjectiveC().localizedCaseInsensitiveContainsString(searchText)}