值类型字符集的没有成员InvertedSet - 斯威夫特3
我尝试过转换迅疾2码SWIFT 3:值类型字符集的没有成员InvertedSet - 斯威夫特3
var customAllowedSet = NSCharacterSet(charactersInString:"=\"#%/<>[email protected]\\^`{|}").invertedSet
它抛出这个错误:
Value of type CharacterSet has no member InvertedSet
根据Apple documentation的Swift 3中invertedSet
方法的名称改为inverted
。所以,试试这个:
var customAllowedSet = CharacterSet(charactersIn:"=\"#%/<>[email protected]\\^`{|}").inverted
PS:init(charactersInString:)
CharacterSet
也改为init(charactersIn:)
在斯威夫特3,你也应该下降的NS前缀。您应该使用CharacterSet而不是NSCharacterSet。你也应该声明它是一个常量。
let customAllowedSet = CharacterSet(charactersIn: "=\"#%/<>[email protected]\\^`{|}").inverted
你也可以把它声明为扩展字符集如下静态属性:
extension CharacterSet {
static let customAllowedSet = CharacterSet(charactersIn:"=\"#%/<>[email protected]\\^`{|}").inverted
}
CharacterSet.customAllowedSet
其实你可以同时使用'NSCharacterSet'和'CharacterSet',参见:https://developer.apple.com/documentation/foundation/nscharacterset – ninjaproger
我从来没有说过他不能。我说他应该。 –
是的,但没有详细的上下文,他使用它你不能说“你应该” – ninjaproger
“编辑 - >型转换>为当前斯威夫特语法...”自动为您解决了这个问题。 –