2016-09-20 60 views
4

我目前正在將我的代碼轉換爲swift 3,並且遇到上面提到的錯誤,代碼如下。Swift 3轉換:類型'characterset'的值沒有成員'characterIsMember'

func containsAlphabets() -> Bool { 
    //Checks if all the characters inside the string are alphabets 
    let set = NSCharacterSet.letters 
    return self.utf16.contains({ return set.characterIsMember($0) }) 
} 

任何一種靈魂都可以幫助嗎?

+0

嘗試'返回self.utf16.contains(其中:{(CharacterSet.letters as NSCharacterSet).characterIsMember($ 0)})' –

+1

嘿它工作! @LeoDabus謝謝! – LuidonVon

+3

不客氣。如果您希望我發佈它作爲答案,請告訴我。順便說一句,我注意到,對於您在SO上已經提出的所有問題,您甚至都沒有接受過任何答案。你應該看看http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work –

回答

2

您可以如下操作:

extension String { 
    var containsAlphabets: Bool { 
     return utf16.contains { (CharacterSet.letters as NSCharacterSet).characterIsMember($0) } 
    } 
} 
6

在斯威夫特3,CharacterSet重新設計與UnicodeScalar,而不是UTF-8編碼點很好地工作。

在這種情況下,你可以寫這樣的事情:

var containsAlphabets: Bool { 
    //Checks if any of the characters inside the string are alphabets 
    return self.unicodeScalars.contains {CharacterSet.letters.contains($0)} 
} 

請嘗試。

相關問題