gpt4 book ai didi

ios - 在 swift 中将 [Int] 转换为 (Int) ,反之亦然

转载 作者:行者123 更新时间:2023-11-28 14:57:41 26 4
gpt4 key购买 nike


如何转换一个整型数组

let beforeSorting = [1, 2, 3, 4, 0, 6, 7, 8, 9, 10]

(1, 2, 3, 4, 0, 6, 7, 8, 9, 10)

在 swift 中也是反向的吗?

场景

var a: Int = 0
var b: Int = 0
var c: Int = 0

..likewise 20 variables

我想对这些值应用一些操作,所以我将这些值转换成数组,如

let array = [a, b, c,..] // counting 20 elements

应用排序等操作后。我需要将这些值放回属性中。

所以我用这些属性创建了一个元组。这是我的问题。我怎样才能将我的新数组分配给元组。 (一次设置所有属性)

就像(a, b, c, d..) = myarray

最佳答案

元组必须有预定义的大小和类型。所以你所能做的就是享受一些便利,这可以通过多种方式实现。例如,您可以创建一个包装器:

typealias MyTuple = (a: Int, b: Int, c: Int, d: Int, e: Int, f: Int)
class ToupleWrapper {
private var values: [Int]
init(a: Int, b: Int, c: Int, d: Int, e: Int, f: Int) {
values = [a, b, c, d, e, f]
}
convenience init(array: [Int]) {
self.init(a: array[0], b: array[1], c: array[2], d: array[3], e: array[4], f: array[5])
}
convenience init(tuple: MyTuple) {
self.init(a: tuple.a, b: tuple.b, c: tuple.c, d: tuple.d, e: tuple.e, f: tuple.f)
}
var array: [Int] {
return values
}
var tuple: MyTuple {
return (values[0], values[1], values[2], values[3], values[4], values[5])
}
}

和用法:

func foo() {
let arrayFromValue = ToupleWrapper(a: 3, b: 2, c: 1, d: 4, e: 2, f: 2).array
let arrayFromTouple = ToupleWrapper(tuple: (0, 1, 3, 2, 4, 2)).array
let tupleFromArray = ToupleWrapper(array: [2, 3, 1, 4, 2, 2]).tuple
}

关于ios - 在 swift 中将 [Int] 转换为 (Int) ,反之亦然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49171353/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com