2014-10-03 42 views
1
不可

我试图用localizedCaseInsensitiveContainsString()方法在运行iOS 8的介绍:localizedCaseInsensitiveContainsString斯威夫特

let match = text.localizedCaseInsensitiveContainsString(searchText) 

斯威夫特说编译:

'串' 没有一个成员名为 'localizedCaseInsensitiveContainsString'

文档说明:

Swift会自动桥接String类型和NSString类。

那么,这是怎么回事?

我知道我可以使用(title as NSString)。我只想知道为什么。

回答

0

我觉得你还是需要转换它不要混淆我猜编译:

let match = (text as NSString).localizedCaseInsensitiveContainsString(searchText) 
+0

我想知道为什么它使混淆编译器。 – 2014-10-03 08:10:31

+0

'text'是一个'String',所以它不被当作'NSString'处理,除非你明确地这么说。 – Kirsteins 2014-10-03 08:14:06

+0

两个单独的类型不能有相同的接口方法,但在这种情况下,一个类型可以转换为另一个类型。 – Kirsteins 2014-10-03 08:19:57