为OSX

时间:2016-03-31 04:25:43

标签: arrays swift macos nsbutton

尝试在ViewController中的OSX中创建可变数量的NSButton。尝试通过定义NSButton数组来做到这一点。 在运行时我遇到致命错误:数组索引超出范围(lldb)。 在Swift中有部分能力并且有点诵读困难,会感激任何帮助。试图查看过去的答案,但找不到任何有用的东西。

var arrayOfButton: [NSButton] = []
    for counter in 0...3 {
        var tempButton = NSButton(frame: NSRect(x: 160 * counter, y: 40 * counter , width: 150, height: 30))
        print("created tempButton")
        arrayOfButton[counter] = tempButton
        arrayOfButton[counter].title = "Button \(counter)"
        self.view.addSubview(arrayOfButton[counter])
         }

4 个答案:

答案 0 :(得分:0)

尝试附加到数组;

  arrayOfButton.append(tempButton)

答案 1 :(得分:0)

您的数组中有0个按钮,但您正在调用计数器的索引到空数组,从而导致索引错误。尝试按

添加临时按钮

arrayOfButtons.apend(temp)

答案 2 :(得分:0)

在代码中创建一个按钮数组,然后将其定义为空。

var arrayOfButton: [NSButton] = []

然后输入一个循环并尝试解决数组的第一个元素:

arrayOfButton[counter] = tempButton

但你的数组是空的。它没有第一个元素。它没有任何元素。你没有把任何东西放进阵列。数组元素0超出了数组的范围,因为没有元素0。

要将临时按钮放入数组中,需要将其附加到数组的末尾:

// Use append to put the temp button into the array
arrayOfButton.append(tempButton)

答案 3 :(得分:0)

arrayOfButton[counter] = tempButton

这是一个空数组。试图分配到它的第0个元素没有任何意义。尝试.append填写您的数组。