bridgeToObjectiveC在Swift Beta 5上不可用

时间:2014-08-05 04:17:27

标签: swift ios8

我正在编写一个在String对象上使用bridgeToObjectiveC()的应用程序。自Beta 5以来,这已不再可用。

我试图这样做:

self.myList.filter{($0 as MyClass).name.bridgeToObjectiveC().localizedCaseInsensitiveContainsString(searchText)}

这给了我错误:

'String' does not have a member named 'bridgeToObjectiveC'

Beta 5中的等效代码是什么?

2 个答案:

答案 0 :(得分:16)

使用as转换为NSString以获得相同的效果:

("string" as NSString).localizedCaseInsensitiveCompare("other string")

或者像这样选择链接:

("string" as NSString?)?.localizedCaseInsensitiveCompare("other string")

答案 1 :(得分:3)

尝试

_bridgeToObjectiveC()

而不是

bridgeToObjectiveC()

如下:

self.myList.filter{($0 as MyClass).name._bridgeToObjectiveC().localizedCaseInsensitiveContainsString(searchText)}