如何将 IBOutlets 放置在 swift 中的二维数组中?

How to place IBOutlets in a two dimensional array in swift?

我有一些 IBOutlets:

@IBOutlet weak var r1c1: MyLabel!
@IBOutlet weak var r1c2: MyLabel!
@IBOutlet weak var r2c1: MyLabel!
@IBOutlet weak var r2c2: MyLabel!

我想把它们放在一个二维数组中:

var grid: [[MyLabel]] = [[r1c1,r1c2],[r2c1,r2c2]]

但是当我编译时,Xcode给出了以下错误:

InterfaceController.type does not have a member named 'r1c1'

有什么问题?

我认为你的代码很好,但你必须将你的数组放在本地范围内:

func printFirst() {
    var grid: [[MyLabel]] = [[r1c1,r1c2],[r2c1,r2c2]]
    println(grid[0][0]).text // or stringValue
}

更新

@IBOutlet weak var r1c1: MyLabel!
@IBOutlet weak var r1c2: MyLabel!
@IBOutlet weak var r2c1: MyLabel!
@IBOutlet weak var r2c2: MyLabel!

var grid = [[MyLabel]]()

override func viewDidLoad() {
    super.viewDidLoad()

    grid = [[r1c1,r1c2],[r2c1,r2c2]] 

}