以编程方式定义按钮编号?

Define buttonnummer programmatically?

我正在尝试设置 Swift 中按钮的标题。按钮标题和编号是随机的。我有 button1..16。 Swift 不接受 'button' 'String 没有名为 'setTitle' 的成员。 我怎样才能让 Swift 接受这个?

var buttonNumber = arc4random_uniform(16) + 1
var targetNumber = arc4random_uniform(20) + 1
var button = "button\(buttonNumber)"
button.setTitle("\(targetNumber)", forState: UIControlState.Normal)

如果您将按钮保存在一个数组中,那么通过索引值访问它们会容易得多。

如果您手动设置视图,那么您可以在 viewDidLoad():

中执行类似的操作
self.buttons =  [UIButton]()
... add buttons to your view and to the buttons array ...

如果您使用 Interface Builder 创建视图,那么您可以使用 Outlet 集合更轻松地连接所有按钮:

@IBOutlet strong var buttons: NSArray!

然后要更改具有特定(或随机)索引的按钮,您可以这样做:

var buttonNumber = arc4random_uniform(16)
var targetNumber = arc4random_uniform(20) + 1
self.buttons[buttonNumber].setTitle("\(targetNumber)",
    forState: UIControlState.Normal)

请注意,buttonNumber 是一个从零开始的数组索引,因此您不想向其添加 1