【发布时间】:2016-07-29 03:04:55
【问题描述】:
假设我有一个具有 10 个属性的类 foo,所有这些属性都是 String 类型,我想创建一个长度为 10 的字节数组,如下所示:
let data = NSData(bytes: [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,] as [UInt8], length:10)
0x00 的每个实例都是类 foo 的属性。我将如何去创造它?
class foo {
var mailbox = "0x00"
var cmd = "0x00"
var data0 = "0x00"
var data1 = "0x00"
var data2 = "0x00"
var data3 = "0x00"
var data4 = "0x00"
var data5 = "0x00"
var data6 = "0x00"
var data7 = "0x00"
}
那么字节数组将包含:
let data = NSData(bytes:[foo.mailbox, foo.cmd, foo.data0, foo.data1, foo.data2, foo.data3, foo.data4, foo.data5, foo.data6, foo.data7] as [UInt8], length:10)
【问题讨论】:
-
我不明白你在问什么。您想将 NSData 对象中的字节分解为单独的属性吗?总是正好有 10 个字节吗?字节与字符串有什么关系?你为什么要这样做?似乎是一种处理字节的尴尬方式。
-
不,我想做相反的事情并从属性创建一个 NSData 对象。属性为Strings格式,需要转成字节。
-
如何将字符串映射到单个字节?每个字符串是否只包含一个 ASCII 字符?说清楚,伙计!解决编程问题的第一步是清楚、详细、具体地描述您需要做什么。
-
一个字符串看起来像这样“0x5A”
-
那代表什么?这个问题绝对零意义。您想如何将字符串映射到数据?
标签: swift foundation