gpt4 book ai didi

ios - 附加在函数内部的数组在其他类中不起作用

转载 作者:行者123 更新时间:2023-11-29 01:53:52 26 4
gpt4 key购买 nike

我的问题是我有 4 个空数组:

var Names:[String] = []
var Amounts:[Int] = []
var Dates:[NSDate] = []
var Images:[UIImage] = []

NewPersonViewController 类中。

我在 NewPersonViewController 中也有一个函数:

func create(){
Names.append(nameField.text)
Amounts.append(amountField.text.toInt()!)
Dates.append(dateToBePaid.date)
}

我在按下按钮时调用 create()。该函数只是一个按钮操作,在 NewPersonViewController 中声明。

我的问题:当我在不包括 Images 的另一个类(在另一个文件中)中打印出数组时,我只是得到这个:

[]
[]
[]

是的,这就是我的输出。先感谢您。旁注:我是 swift 的新手 :)

最佳答案

除非你刚刚发布了一些玩具代码,否则你的设计似乎有很多问题。

但是,您可能面临的具体问题是,在 Swift 中,数组是“value types”。基本上这意味着如果你传递一个数组,Swift 实际上每次都在制作副本。因此,如果您在不同类(class)中编辑副本 2,则不会影响原始类(class)中的副本 1。

如果你只是想让你的代码工作而不用重构来处理这个问题(你真的应该重构),最简单的方法是使用 NSMutableArray 而不是 Swift 数组。 NSMutableArray 是一个类,它是一个“引用类型”。您可以四处传递它、进行更改并从任何地方使用它。因为您实际上只是传递一个“引用”,所以只有一个数组,并且您所做的更改会随处可见。

关于ios - 附加在函数内部的数组在其他类中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31105503/

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