我整理了以下示例代码:
let tings = [1, 2, 4, 5, 6, 8]
class Foo {
var number: Int
init(something: Int) {
self.number = something
}
}
var list: [Foo] = []
for num in tings {
var temp = Foo(something: tings[num]) //excbadinstruction invop
list.append(Foo(something: 3)) //no error
list.append(Foo(something: Int(4))) //no error
list.append(Foo(something: tings[num])) //excbadinstruction invop
list.append(Foo(something: Int(tings[num]))) //excbadinstruction invop
}
我不明白最后两行的问题是什么,因为我认为 things[num] 也是 Int 类型,当然最后一行也是如此。
如果我将事物的类型指定为 [Int],则没有任何变化(这对我来说并不奇怪)我还必须明确声明“某事:”,这是我没想到的,因为它是初始化程序的第一个也是唯一的参数。
我希望任何人都可以向我解释这一点和/或给出正确的方法来做到这一点。