Значение типа 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
Другие вопросы по тегам