for (index, button) in ratingButtons.enumerate() <--getting my error here
{
buttonFrame.origin.x = CGFloat(index * (44 + 5))
button.frame = buttonFrame
}
}
我也尝试了枚举(ratingButtons)但它没有在数组中添加按钮
答案 0 :(得分:1)
取出.enumerate()
它应该可以工作,也必须将(index, button)
更改为button
,因为该数组只包含UIButtons,而不包含索引和按钮的元组。如果需要索引,则必须手动计算数组的迭代次数,否则设置正常的非快速枚举for循环并手动获取索引处的按钮
答案 1 :(得分:0)
以下代码对我有用
var idx = 0
var buttonFrame = CGRect(x: 0, y: 0, width: 44, height: 44)
for button in ratingButtons {
buttonFrame.origin.x = CGFloat(idx * (44 + 5))
button.frame = buttonFrame
idx = idx + 1
}
答案 2 :(得分:-1)
用枚举(ratingButtons)替换 ratingButtons.enumerate() 这是枚举
的正确方法 for (index, button) in enumerate(ratingButtons)
{
buttonFrame.origin.x = CGFloat(index * (buttonSize + 5))
button.frame = buttonFrame
}
例如enumerate()函数,它返回项目的索引及其值
import Cocoa
var strarr = [String]()
strarr.append("Mango")
strarr.append("Apple")
strarr += ["Banana"]
for (index, item) in enumerate(strarr) {
println("Value at index = \(index) is \(item)")
}
指数= 0时的值是芒果
索引= 1的值是Apple
指数= 2的值是Banana