通过Swift 3中的特定数组索引进行拼接和循环

时间:2016-12-10 18:31:02

标签: ios arrays swift

假设我有一个UInt8数组

let myArray: [UInt8] = [0xD0, 0xA4, 0xA3, 0xE0, 0xD1]

  1. 如何循环索引2到4?我知道存在各种for循环,但是有一个允许我迭代特定索引吗?

  2. 如何创建仅包含索引0,1和2的另一个数组?

  3. 提前谢谢

1 个答案:

答案 0 :(得分:1)

  

如何循环索引2到4?

像这样:

let myArray: [UInt8] = [0xD0, 0xA4, 0xA3, 0xE0, 0xD1]

for i in myArray[2...4] {
    print(i)
}
  

如何创建仅包含索引0,1和2的另一个数组?

类似:

let myArray: [UInt8] = [0xD0, 0xA4, 0xA3, 0xE0, 0xD1]
let myOtherArray = myArray[0...2]

...但请注意:myOtherArray现在是切片,而不是实际的数组。如果需要,可以强制转换为数组。

编辑原来你实际上有一个Data对象。符号保持不变:

for i in myData[2...4] { // myData is a Data
    print(i)
}
let myData2 = myData[0...2]

这正是为什么 Apple提供了数据类型(而不是Foundation的NSData),因此可以在其上使用数组表示法。