看起来下面的
Swift for-in循环试图通过比数组中更多的元素.
例如,这段代码:
var list:[Int?] = [1,2,3,4,5,6,7] print("C-Style for loop") for var i=0; i<list.count; i++ { var x:Int = list[i]! print(x) } print("\nFor-in loop") for var x:Int! in list { print(x) }
C-Style for loop 1 2 3 4 5 6 7 For each loop 1 2 3 4 5 6 7 Fatal error: unexpectedly found nil while unwrapping an Optional value ... Illegal instruction: 4
我必须在这里遗漏一些东西. list.count不应该是for-in循环尝试解包的元素数量吗?
如上图所示,如果使用[Int]列表而不是[Int?]而没有展开,则for-in循环按预期工作.
我在Swift版本2.1.1上.
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。