簡體   English   中英

迅速在ViewController中創建多維數組

[英]multidimensional arrays in swift inside a ViewController

我對Swift還是比較陌生,我認為問題更多是關於初始化的一般問題。

我需要創建一個多維數組,我可以在其中訪問所有值,這些值主要是UIViewController實例中的字符串。 請參見下面的示例,其中占位符為字符串(應該是真實的單詞,但是我嘗試使其保持簡單直到起作用):

let firstArray = ["1","2","3"]
let secondArray = ["4","5","6"]
let thirdArray = [firstArray,secondArray]
let fourthArray = ["1","2","3"]
let fifthArray = ["4","5","6"]
let sixthArray = [fourthArray, fifthArray]
let seventhArray = [thirdArray, sixthArray]

在操場上,它運行良好,可以按我的需要進行訪問。 但是在我的ViewController實例內部,編譯器返回以下錯誤:

'myViewController.Type' does not have a member named firstArray

每次嘗試將一個數組放置在一個數組中時都一樣。 在我的.swift文件中,它看起來像這樣:

import UIKit

class tricktionaryViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

    let firstArray = ["1","2","3"]
    let secondArray = ["4","5","6"]
    let thirdArray = [firstArray,secondArray]
    let fourthArray = ["1","2","3"]
    let fifthArray = ["4","5","6"]
    let sixthArray = [fourthArray, fifthArray]
    let seventhArray = [thirdArray, sixthArray]
    let textCellIdentifier = "TextCell"

//.... some functions following

}

我實際上試圖為數組的第一級創建類,但是仍然存在相同的問題。 我究竟做錯了什么?

由於第三數組包含來自存儲屬性的元素,因此第三數組本身不能是存儲屬性,因為其值是基於存儲屬性值計算的。 因此,要進行這項工作,您必須將第三個數組(和所有其他計算數組)聲明為不可變的計算變量,如下所示

let firstArray = ["1","2","3"]
let secondArray = ["4","5","6"]
var thirdArray:[[String]] {
  return [firstArray,secondArray]
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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