簡體   English   中英

Swift:具有自定義類型的數組的下標

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM