Swift 为数组中的每个对象创建UIButton

Swift 为数组中的每个对象创建UIButton,swift,uibutton,swift2,Swift,Uibutton,Swift2,大家好,我想从数组中的每个对象以编程方式创建一个ui按钮。差不多 for answer in answers { //create button } 但我如何为所有这些按钮分配一个随机且唯一的变量呢 与var randomvar=UIButton()?类似,更好的方法是创建数组属性: var array: [UIButton]? 在循环内部创建一个按钮并将其添加到此数组中 如果需要访问任何按钮,可以通过索引访问它。更好的方法是创建数组属性: var array: [UIButton]?

大家好,我想从数组中的每个对象以编程方式创建一个
ui按钮。差不多

for answer in answers { 
  //create button
}
但我如何为所有这些按钮分配一个随机且唯一的变量呢


var randomvar=UIButton()

类似,更好的方法是创建数组属性:

var array: [UIButton]?
在循环内部创建一个按钮并将其添加到此数组中


如果需要访问任何按钮,可以通过索引访问它。

更好的方法是创建数组属性:

var array: [UIButton]?
在循环内部创建一个按钮并将其添加到此数组中


如果您需要访问任何按钮,您可以通过索引访问它。

在数组上循环并为每个项目创建按钮。可以直接将其添加到视图中,也可以将其保存到数组中以供以后访问

var buttons = [UIButton]()

for answers in answer {
    let button = UIButton(...)
    button.addTarget(self, action: "buttonAction:", forControlEvents: . TouchUpInside)

    // add to a view
    button.frame = ...
    view.addSubview(button)

    // or save for later use
    buttons.append(button)
}

在数组上循环并为每个项目创建按钮。可以直接将其添加到视图中,也可以将其保存到数组中以供以后访问

var buttons = [UIButton]()

for answers in answer {
    let button = UIButton(...)
    button.addTarget(self, action: "buttonAction:", forControlEvents: . TouchUpInside)

    // add to a view
    button.frame = ...
    view.addSubview(button)

    // or save for later use
    buttons.append(button)
}

我刚接触OOP x时就遇到了这个问题

基本上,处理对象时的变量只是指向内存中地址的指针

带有对象的数组实际上是带有指向所有唯一对象的指针的数组,在您的情况下,这些对象是UIButton的

因此,在for循环中,必须将这些按钮添加到另一个数组中

var buttons = [UIButton]()

for answer in answers {
    let btn = UIButton()
    ...
    buttons.append(btn)
}
然后,您可以通过
按钮
访问每个唯一的按钮

buttons[2].setTitle("test 2", forControlEvent: .Normal)

我刚接触OOP x时就遇到了这个问题

基本上,处理对象时的变量只是指向内存中地址的指针

带有对象的数组实际上是带有指向所有唯一对象的指针的数组,在您的情况下,这些对象是UIButton的

因此,在for循环中,必须将这些按钮添加到另一个数组中

var buttons = [UIButton]()

for answer in answers {
    let btn = UIButton()
    ...
    buttons.append(btn)
}
然后,您可以通过
按钮
访问每个唯一的按钮

buttons[2].setTitle("test 2", forControlEvent: .Normal)

你是要展示堆叠的还是随机的按钮?特定的位置,需要做很多修改。你是要展示堆叠的还是随机的按钮?特定的位置,需要做很多修改。我自己也想到了这一点,但是,如果我使用数组,如何仍然修改按钮?我的意思是,我现在没有索引,对吗?数组中的位置是索引,所以你有一个。。如果您想使用标记将索引保存到按钮(button.tag=index),它允许您修改按钮,您甚至可以从视图中逐个标记下注(不推荐,在您的示例中也不需要)。我自己也想到了这一点,但如果我使用数组,如何仍然修改按钮?我的意思是,我现在没有索引,对吗?数组中的位置是索引,所以你有一个。。如果您想使用标记将索引保存到按钮(button.tag=index),它允许您修改按钮,您甚至可以从视图中逐个标记下注(不推荐,在您的示例中也不需要)。