Создание NSData из NSString в Swift


Я пытаюсь, в конечном счете, есть NSMutableURLRequest действительным HTTPBody, но я не могу получить мои строковые данные (исходя из UITextField) в пригодный для использования

2 161

2 ответа:

В Swift 3

let data = string.data(using: .utf8)

в Swift 2 (или если у вас уже есть NSString экземпляра)

let data = string.dataUsingEncoding(NSUTF8StringEncoding)

в Swift 1 (или если у вас есть swift String):

let data = (string as NSString).dataUsingEncoding(NSUTF8StringEncoding)

также обратите внимание, что data это Optional<NSData> (поскольку преобразование может завершиться неудачей), поэтому вам нужно будет развернуть его перед использованием, например:

if let d = data {
    println(d)
}

Swift 4 & 3

создания Data объект String объект был изменен в Swift 3. Теперь правильная версия:

let data = "any string".data(using: .utf8)