gpt4 book ai didi

swift - 将类对象附加到数组

转载 作者:行者123 更新时间:2023-11-30 10:19:43 26 4
gpt4 key购买 nike

我在这里遇到语法问题。基本上我创建了一个简单的类,并希望将该类的对象添加到数组中。

class simpleClass {
var aNum = Int()
var aWord = String()
init(thisNum:Int,thisString:String)
{
aNum = thisNum
aWord = thisString
}
}

var aObj:simpleClass
var aArray:Array<simpleClass>
aObj = simpleClass(thisNum:12,thisString:"Test")
aArray.append(aObj)

如您所见,我创建了一个 simpleClass 对象并尝试将其附加到 simpleClass 类型的数组中。但是,我收到一条错误消息

在初始化之前通过引用传递

我想我一定在语法中遗漏了一些东西。希望有人能指出我的错误。

谢谢,斯维克姆

最佳答案

您需要将一个数组分配给数组变量。

var aArray:Array<simpleClass> = []

或者如果您愿意,

var aArray = Array<simpleClass>()

甚至(我的偏好)

var aArray: [simpleClass] = []

或者

var aArray = [simpleClass]()

更好的是,您甚至可以重新排序并执行以下操作:

var aArray = [simpleClass(thisNum:12,thisString:"Test")]

而不是最后 4 行。

顺便说一句,您可能会发现像这样声明您的类更好:

class simpleClass {
var aNum: Int
var aWord: String
init(thisNum:Int,thisString:String) {
aNum = thisNum
aWord = thisString
}
}

这会键入 aNumaWord,但不会为它们赋值,因为您随后会在 init 方法中执行此操作。原因是,如果您忘记在 init 中分配值,编译器会警告您,而如果您默认它们,则不会。可以默认它们,但不要将它们包含在 init 方法中 - 其中之一是最好的,两者都有点多余并且可能导致错误。

关于swift - 将类对象附加到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27728160/

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