迭代结构数组与无主参考无休止地进行

Ace*_*cey 11 swift

在我的项目中,我有一个结构,其中包含对类实例的无主引用.试图循环遍历这些结构的数组会导致我的应用程序无休止地循环.但即使比较疯狂,我也可以循环一个键入该结构的空数组,但它仍然会发生.

我在此示例中使用了对NSString的引用来使示例更小,但使用自定义类没有帮助.

另外值得注意的是,此行为仅发生在64位设备和模拟器上,而不是32位设备上.我已经使用Xcode 6.1,6.1.1和6.2进行了测试.

struct TestStruct {
    unowned let reference: NSString
}

let anArray: [TestStruct] = []

for anObject in anArray {
    NSLog("This is called endlessly")
}
Run Code Online (Sandbox Code Playgroud)

难道我做错了什么?这不是受支持的安排吗?或者这只是一个我应该报告的快速错误?

A. *_*nce 0

正如评论所指出的,这似乎是 Swift 编译器中的一个错误。通过Apple 的 Bug Reporter报告该问题将对我们所有人有所帮助。