我想最初喜歡的UILabel對象的數組重複參數這樣如何初始對象的數組一樣的UILabel在迅速
var labels = [UILabel](repeating : UILabel(), count : 7)
但我發現在陣列指向同一個標籤實例的所有項目。這是預期的嗎?我如何創建具有不同實例的數組?謝謝。
我想最初喜歡的UILabel對象的數組重複參數這樣如何初始對象的數組一樣的UILabel在迅速
var labels = [UILabel](repeating : UILabel(), count : 7)
但我發現在陣列指向同一個標籤實例的所有項目。這是預期的嗎?我如何創建具有不同實例的數組?謝謝。
不優雅,但
var labels = (1...7).map { _ in UILabel() }
會做的伎倆。
顯然,Array.init(repeating:count:)
評估重複元素只有一次,然後重複它,這是有道理的,我猜...所以你需要一個解決方案,將迭代和調用UILabel()
在每一步。一個for
循環和一些其他不同的技術也應該工作。
例如,你可以使用一個循環以創建標籤:
var labels = [UILabel]()
for _ in 0 ..< 7 {
let label = UILabel()
labels.append(label)
}
對於做ü希望有UILabels的陣列是什麼?爲什麼你不能[String]? –
此init方法不適用於參考類型。 – vadian