我正在尝试将 swift 2 代码转换为 swift 3:
var customAllowedSet = NSCharacterSet(charactersInString:"=\"#%/<>?@\\^`{|}").invertedSet
它抛出这个错误:
Value of type CharacterSet has no member InvertedSet
我正在尝试将 swift 2 代码转换为 swift 3:
var customAllowedSet = NSCharacterSet(charactersInString:"=\"#%/<>?@\\^`{|}").invertedSet
它抛出这个错误:
Value of type CharacterSet has no member InvertedSet
根据Apple 文档,Swift 3 中的方法名称invertedSet
已更改为inverted
. 所以试试这个:
var customAllowedSet = CharacterSet(charactersIn:"=\"#%/<>?@\\^`{|}").inverted
PS: init(charactersInString:)
的CharacterSet
也改成init(charactersIn:)
在 Swift 3 中,您还应该删除 NS 前缀。您应该使用 CharacterSet 而不是 NSCharacterSet。您还应该将其声明为常量。
let customAllowedSet = CharacterSet(charactersIn: "=\"#%/<>?@\\^`{|}").inverted
您还可以将其声明为扩展 CharacterSet 的静态属性,如下所示:
extension CharacterSet {
static let customAllowedSet = CharacterSet(charactersIn:"=\"#%/<>?@\\^`{|}").inverted
}
CharacterSet.customAllowedSet