2014-10-03 81 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