2017-07-24 39 views

回答

4

根据Apple documentation的Swift 3中invertedSet方法的名称改为inverted。所以,试试这个:

var customAllowedSet = CharacterSet(charactersIn:"=\"#%/<>[email protected]\\^`{|}").inverted 

PS:init(charactersInString:)CharacterSet也改为init(charactersIn:)

1

在斯威夫特3,你也应该下降的NS前缀。您应该使用CharacterSet而不是NSCharacterSet。你也应该声明它是一个常量。

let customAllowedSet = CharacterSet(charactersIn: "=\"#%/<>[email protected]\\^`{|}").inverted 

你也可以把它声明为扩展字符集如下静态属性:

extension CharacterSet { 
    static let customAllowedSet = CharacterSet(charactersIn:"=\"#%/<>[email protected]\\^`{|}").inverted 
} 

CharacterSet.customAllowedSet 
+0

其实你可以同时使用'NSCharacterSet'和'CharacterSet',参见:https://developer.apple.com/documentation/foundation/nscharacterset – ninjaproger

+0

我从来没有说过他不能。我说他应该。 –

+0

是的,但没有详细的上下文,他使用它你不能说“你应该” – ninjaproger