swift 编程报错求解啊

a2955301 2014-11-12 11:53:02
...全文
1184 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr_Rights 2016-08-17
  • 打赏
  • 举报
回复
allButtons[i][j]要先转换为具体的类型,比如UIButton
猿人林克 2014-11-14
  • 打赏
  • 举报
回复
我来告诉你正确答案,swift必须要判断数组是否越界,代码如下,应该非常清楚,第一段如果i 随机出来大于3那就会error,第二段任何值都不会有异常,至于多维数组道理一样,请给分谢谢:
var btn = [["11","12"],["21","22"],["31","32"]]
var i = Int(arc4random()) % 9
var j = Int(arc4random()) % 9
print(i)
//if i < btn.count {
    println(btn[i])//error
//}
var btn = [["11","12"],["21","22"],["31","32"]]
var i = Int(arc4random()) % 9
var j = Int(arc4random()) % 9
print(i)
if i < btn.count {
    println(btn[i])
}
a2955301 2014-11-13
  • 打赏
  • 举报
回复
var allButtons=[[UIButton]]()
a2955301 2014-11-13
  • 打赏
  • 举报
回复
allButtons[][] 里的[i][j] 改成数字就可以 这是为什么啊
a2955301 2014-11-13
  • 打赏
  • 举报
回复
求代码111111
a2955301 2014-11-13
  • 打赏
  • 举报
回复
不行啊11111
Bannings 2014-11-13
  • 打赏
  • 举报
回复
先把button从allButtons中取出来试试
ReyZhang 2014-11-13
  • 打赏
  • 举报
回复
先做一下类型转换试试 var btn: UIButton = allButtons[i][j] as UIButton btn.setImage(UIImage(named:"gray.png"), forState:UIControlState.Normal)
ReyZhang 2014-11-13
  • 打赏
  • 举报
回复
引用 6 楼 a2955301 的回复:
allButtons[][] 里的[i][j] 改成数字就可以 这是为什么啊
allButtons[i][j] 中的i 或j没有下标越界吧。在使用时不行就先做是否为空的判断
var btn: UIButton = allButtons[i][j] as UIButton
if (btn != nil) {
      btn.setImage(UIImage(named:"gray.png"), forState:UIControlState.Normal)
}

1,420

社区成员

发帖
与我相关
我的任务
社区描述
Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Objective-C共同运行于MAC OS和iOS平台,用于搭建基于苹果平台的应用程序。
swift 技术论坛(原bbs)
社区管理员
  • Swift
  • 网罗开发
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧