gpt4 book ai didi

arrays - 如何在 Swift 中将 int 数组分配给对象数组的相应属性?

转载 作者:行者123 更新时间:2023-11-30 12:53:05 28 4
gpt4 key购买 nike

我想将一个整数值数组分配给对象数组的相应属性。

class MyClass {
var propint: Int = 0
var propdbl: Double = 0.0
var propstr: String = ""
} // MyClass

var arrint: [Int]()
var arrobj: [MyClass]()

一种方法是循环遍历整数数组 (arrint),并将值分配给相应对象数组元素的属性 propint

我想知道是否有一个更有效、更优雅的解决方案来完成这项任务,例如。就像array.map,如果是的话,它会是什么样子。

--Sil68

最佳答案

我不确定效率。正如 @Ryan 所说,所有内置函数方法都只是使用循环来处理数组。

话虽如此,你可以做这样的事情......

let updatedObjectArray = zip(arrint, arrobj).map {
number, object -> MyClass in

object.propint = number
return object
}

不过你在这里必须小心。通过使用类(而不是结构),您将无意中编辑原始数组。

无论如何,这将压缩两个数组,迭代它们,然后将它们映射到包含更新对象的数组上。

附注:为变量选择更好的名称。即使是在 Stack Overflow 问题中。使用像 arrintarrobjpropint 这样的变量名只能做两件事。让回答问题变得困难,因为自动更正想要改变所有问题。并且导致阅读时难以理解。我知道它是一个属性和一个 int (这就是代码所说的)。这个名字应该告诉我为什么它是一个属性和一个整数。

关于arrays - 如何在 Swift 中将 int 数组分配给对象数组的相应属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40729873/

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