Swift - 空数组的无限循环

jud*_*ira 5 loops swift

我刚刚将我的项目从2.3升级到Swift 3.我所有的for循环都是无限的.我也可以在一个清新的游乐场重现它:

这是我正在做的事情:

var strs = [String!]()

strs.append("hello")
strs.append("world")

var count = 0
for s in strs {
    count += 1
}
Run Code Online (Sandbox Code Playgroud)

怎么了?在操场上,循环连续执行.

看看Apple的文档,这应该有用,不应该吗?

更新:如果我更改我的数组定义如下,它按预期工作.在数组中强制非可选值有什么害处?

var strs = [String]()
Run Code Online (Sandbox Code Playgroud)

更新2:这是一个已知的错误 - https://bugs.swift.org/browse/SR-1635