![](/img/trans.png)
[英]Swift - Cannot subscript a value of type '[Array<String>]' with an index of type 'IndexPath'
[英]Swift: subscript for array with custom type
我有一個類MyClass
,在另一個類中有一個全局變量數組:
var myArray:[MyClass]
在MyClass
我沒有任何數組。
現在,如果我想這樣做:
for index in 0..10 {
self.myArray[index] = //a new object
}
我收到一個錯誤,指出MyClass
沒有下標。 有什么想法嗎? 請記住, MyClass
中沒有任何數組。
一些更多的代碼向您展示我的意思:
class TheirClass {
var myArray: [MyClass] = [] // or use an initializer
func test() -> Void {
for index in 0..10 {
self.myArray[index] = MyClass()
}
}
}
class MyClass {
var prop1 = ""
var prop2 = 0
}
如果您要從另一個類調用var,則必須像下面這樣處理它:
class TheirClass {
var myArray: [MyClass] = [] // or use an initializer
}
class MyClass {
var objectArray = TheirClass().myArray
}
不確定這是否是您計划要做的。 讓我知道,我可以更改代碼以適合您的目的。
您在..
中有Swift中不存在的代碼。 您可能的意思是...
但也有..<
。
但是,初始化器中的數組大小為零,這意味着無法向其中添加值。 您必須首先創建一個大小正確的新數組,或者使用myArray += [MyClass()]
附加到該數組。
另請注意, -> Void
是不必要的-如果您沒有返回類型,則它將隱式為空類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.