【问题标题】:Define buttonnummer programmatically?以编程方式定义buttonnummer?
【发布时间】:2015-02-28 09:47:29
【问题描述】:
我正在尝试在 Swift 中设置按钮的标题。按钮标题和编号是随机的。我有按钮 1..16。斯威夫特不接受“按钮”
'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)
【问题讨论】:
标签:
xcode
string
swift
random
numbers
【解决方案1】:
如果将按钮保存在数组中,则通过索引值访问它们会容易得多。
如果您手动设置视图,则可以在 viewDidLoad() 中执行类似操作:
self.buttons = [UIButton]()
... add buttons to your view and to the buttons array ...
如果您使用 Interface Builder 创建视图,那么您可以使用 Outlet Collection 更轻松地连接所有按钮:
@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。