Значение типа CharacterSet не имеет члена InvertedSet - Swift 3
Я пытаюсь преобразовать более быстрый код 2 в быстрый 3:
var customAllowedSet = NSCharacterSet(charactersInString:"=\"#%/<>?@\\^`{|}").invertedSet
Выдает эту ошибку:
Value of type CharacterSet has no member InvertedSet
2 ответа
Решение
Согласно документации Apple, название invertedSet
Метод в Swift 3 был изменен на просто 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