SWIFT中的‘_ArrayBuffer’是什么?我应该如何和何时使用它?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (115)

调试崩溃时,有崩溃消息: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类中,Instate的创造和传递MyObject的名单。我将创建MyObject列表的方法移动到我的逻辑类中。测试是Success。所以我确定崩溃与cocoa bug有关。但仍然不知道如何解决它。

提问于
用户回答回答于

崩溃与_ArrayBuffer无关。崩溃是因为你从Cocoa / Objective-C获得了一个NSArray,其中需要一个MyObject数组,而NSArray中的某些东西不是 MyObject。

这种情况一次又一次地发生,主要是因为Cocoa本身存在缺陷。

扫码关注云+社区

领取腾讯云代金券