调试具有崩溃消息Thread 1: Fatal error: NSArray element failed to match the Swift Array Element type
的崩溃时。我将一个列表传递给一个函数:[MyObject]
,但Xcode调试窗口区域的调试器显示:
list([Project.MyObject])
_buffer (_ArrayBuffer<Project.MyObject>)
_storage(_ArrayBridgeStorage)
rawValue = (Bultin.BridgeObject)
更新:创建并传递来自XCTestCase
类的MyObject
列表的实例。我将创建MyObject
列表的方法移到我的逻辑类中。测试是Success
。所以我确定这次崩溃与可可虫子有关。但仍然不知道如何解决它。
发布于 2018-07-24 10:56:42
这次崩溃与_ArrayBuffer
没有任何关系。崩溃是因为您从Cocoa / Objective-C获取了一个NSArray,其中需要一个MyObject数组,而NSArray中的某些内容不是MyObject。
这种情况时有发生,主要是因为可可本身的bug。(我在这里举个例子:UIDynamicAnimator items(in:) crashes in iOS 11。)不幸的是,你根本没有展示你的代码,所以在你的例子中它是如何发生的,任何人都不知道。
https://stackoverflow.com/questions/51489799
复制相似问题