在 Swift 中从 NSString 创建 NSData [英] Creating NSData from NSString in Swift

查看:97
本文介绍了在 Swift 中从 NSString 创建 NSData的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图最终拥有一个带有有效 HTTPBodyNSMutableURLRequest,但我似乎无法获取我的字符串数据(来自 UITextField) 转换成一个可用的 NSData 对象.

I'm trying to ultimately have an NSMutableURLRequest with a valid HTTPBody, but I can't seem to get my string data (coming from a UITextField) into a usable NSData object.

我已经看到了另一种方法:

I've seen this method for going the other way:

NSString(data data: NSData!, encoding encoding: UInt)

但我似乎找不到任何适用于我的用例的文档.如有必要,我愿意将字符串放入其他类型,但使用 Swift 的 NSData 初始化选项似乎都不是我想要的.

But I can't seem to find any documentation for my use case. I'm open to putting the string into some other type if necessary, but none of the initialization options for NSData using Swift seem to be what I'm looking for.

推荐答案

在 Swift 3 中

In 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(因为转换可能会失败),因此您需要在使用之前将其解包,例如:


Also note that data is an Optional<NSData> (since the conversion might fail), so you'll need to unwrap it before using it, for instance:

if let d = data {
    println(d)
}

这篇关于在 Swift 中从 NSString 创建 NSData的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆