Swift   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了swift – 如何将字符串数组转换为NSData,NSData转换为字符串数组?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

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

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

// String -> NSData
var str: String = "Apple";
let data: NSData = str.dataUsingEncoding(NSUTF8StringEncoding)!

// NSData -> String
var 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转换为字符串数组?所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。