如何将 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]]
}
我有一些 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]]
}