使用无主引用迭代结构数组是无休止的



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

在此示例中,我使用了对 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")
}

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

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

最新更新