swift 编程报错求解啊

[复制链接]
436 10

举报 使用道具

回复

10 个评论

SeramnoUnure  新手上路  发表于 2019-2-8 15:04:34  | 显示全部楼层

举报 使用道具

回复
haonan007  注册会员  发表于 2019-2-8 15:06:31  | 显示全部楼层
先把button从allButtons中取出来试试

举报 使用道具

回复
Pavlinamobally  新手上路  发表于 2019-2-8 15:19:56  | 显示全部楼层
求代码111111

举报 使用道具

回复
hmlai  注册会员  发表于 2019-2-8 16:11:03  | 显示全部楼层
var allButtons=[[UIButton]]()

举报 使用道具

回复
xin0101203  注册会员  发表于 2019-2-8 16:56:13  | 显示全部楼层
先做一下类型转换试试
var btn: UIButton = allButtons[i][j] as UIButton
btn.setImage(UIImage(named:"gray.png"), forState:UIControlState.Normal)

举报 使用道具

回复
Natyskodoogs  新手上路  发表于 2019-2-8 17:12:27  | 显示全部楼层
不行啊11111

举报 使用道具

回复
Olefgovvat  新手上路  发表于 2019-2-8 17:43:09  | 显示全部楼层
allButtons[][]  里的[i][j] 改成数字就可以 这是为什么啊

举报 使用道具

回复
ldm25  新手上路  发表于 2019-2-8 18:10:33  | 显示全部楼层
引用 6 楼 a2955301 的回复:
allButtons[][]  里的[j] 改成数字就可以 这是为什么啊

allButtons[j] 中的i 或j没有下标越界吧。在使用时不行就先做是否为空的判断
var btn: UIButton = allButtons[j] as UIButton
if (btn != nil) {
      btn.setImage(UIImage(named:"gray.png"), forState:UIControlState.Normal)
}

举报 使用道具

回复
lhb780511  注册会员  发表于 2019-2-8 18:35:46  | 显示全部楼层
我来告诉你正确答案,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])
}

举报 使用道具

回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

ios.irunthink.com
搜索
热搜: iOS swift 下拉刷新

图文热点

更多

开发教程

更多

客服中心

400-800 周一至周日 9:30-17:30 仅收市话费

关注我们

  • 微信扫描
  • 关注微信
关于我们
关于我们
友情链接
联系我们
帮助中心
精贴推荐
源码上传
注册登录
服务支持
资源下载
关注我们
官方微博
官方空间
快速回复 返回顶部 返回列表