swift – 如何将字符串数组转换为NSData,NSData转换为字符串数组?

swift – 如何将字符串数组转换为NSData,NSData转换为字符串数组?,第1张

概述我想将[String]转换为NSData以进行BLE连接. 我知道如何将String转换为NSData / NSData为String. // String -> NSDatavar str: String = "Apple";let data: NSData = str.dataUsingEncoding(NSUTF8StringEncoding)!// NSData -> String 我想将[String]转换为NSData以进行BLE连接.

我知道如何将String转换为NSData / NSData为String.

// String -> NSDatavar str: String = "Apple";let data: NSData = str.dataUsingEnCoding(NSUTF8StringEnCoding)!// NSData -> Stringvar outStr: String = Nsstring(data:data,enCoding:NSUTF8StringEnCoding) as! String

但是,我该如何转换,

// [String] -> NSData ???let strs: [String] = ["Apple","Orange"]

这是转换[UInt8]< - >的样本.的NSData
https://gist.github.com/nolili/2bf1a701df1015ed6488

我想转换[String]< - >的NSData

// [String] -> NSData ??? Is it correct???var strs: [String] = ["Apple","Orange"]let data2 = NSData(bytes: &strs,length: strs.count)// NSData -> [String] ... please teach me..
为了直接回答您的问题,您可以向数组中的每个字符串询问其thisstring.dataUsingEnCoding(_ :)并将结果附加到NSMutableData实例,直到您完成所有 *** 作.
let stringsData = NSMutableData()for string in strings {    if let stringData = string.dataUsingEnCoding(NSUTF16StringEnCoding) {        stringsData.appendData(stringData)    } else {        NSLog("Uh oh,trouble!")    }}

当然,如果你想稍后分离字符串,这对你没有帮助,所以我们真正需要知道的是你打算在什么环境中在连接的另一端使用这些数据?如果另一端也使用Cocoa,请考虑将其打包为PList.由于Nsstring,NSArray和NSData都是属性列表类型,因此您可以直接归档NSAtring Nsstring实例:

let arrayAsplistData = NSKeyedArchiver.archivedDataWithRootObject(strings)

…然后将生成的NSData实例传输到Cocoa感知目标,然后:

if let newStrings: [String] = NSKeyedUnarchiver.unarchiveObjectWithData(arrayAsplistData) as? [String] {    // ... do something}
总结

以上是内存溢出为你收集整理的swift – 如何将字符串数组转换为NSData,NSData转换为字符串数组?全部内容,希望文章能够帮你解决swift – 如何将字符串数组转换为NSData,NSData转换为字符串数组?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/1036005.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存