2016-09-20 72 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)} 
} 

请尝试。

相关问题