【发布时间】:2015-02-17 13:03:06
【问题描述】:
在 for 循环中将 let 变量作为标记传递时出现错误,但在将变量替换为数字时却没有。我可以 println(i) 并返回一个数字。 为什么不接受它作为密钥?
我也尝试将 var 设置为具有相同结果的计数器
我收到以下错误: swift_dynamicCastObjCClassUnconditional
完全错误: 线程 1:EXC_BREAKPOINT(code=1, subcode=0x1001ee4b0)
func updateThing() {
for (i, img) in enumerate(thingState) {
switch img {
case 0:
image = UIImage(named: "0.png");
break
case 1:
image = UIImage(named: "1.png");
break
case 2:
image = UIImage(named: "2.png");
break
default:
image = UIImage(named: "x.png");
}
thing = self.view.viewWithTag(i) as UIButton;
thing.setImage(image, forState: .Normal);
}
但是如果我用数字替换 i 没有错误并且带有指定标签的图像发生变化,如果我 println(i) 每次通过都会得到一个数字
thing = self.view.viewWithTag(2) as UIButton;
【问题讨论】: