当桥接失败时,objc NSData与Swift数据

时间:2016-08-25 18:51:58

标签: objective-c-swift-bridge

我不太确定这是一个愚蠢的新手问题,所以我把它排除在主题之外;-)我的应用程序有一些objC框架通过桥接头桥接。我在运行时看到的一个问题与objC NSData对象长度属性和Swift数据计数属性有关。

本案例中框架的代码行如下所示

    if([request.requestBody length] > 0){

并且请求对象的接口看起来像这样......

接口AEServiceRequest:NSObject

属性(非原子,只读,强,可空)NSData * requestBody;

当应用程序运行并且它询问长度方法(也是.length)时,下面抛出的异常就好像长度调用没有被转换为count但是NSData对象确实被转换为Data。只是一个猜测。在他们的经历中有没有人见过这种类型的东西?我有什么不妥之处吗?

我将一些NSLog添加到用于跟踪的框架代码中......

AEDAService:AEService 1.4.2 init启动了...... 2016-08-25 14:12:44.592 AEDemoApp_Swift_OSX [24703:4124653]输入:_urlRequest 2016-08-25 14:12:44.592 AEDemoApp_Swift_OSX [24703:4124653]开始调用:if(request.requestBody.length> 0 2016-08-25 14:12:44.592 AEDemoApp_Swift_OSX [24703:4124653] - [_ SwiftValue length]:无法识别的选择器发送到实例0x61800004c480 2016-08-25 14:12:44.593 AEDemoApp_Swift_OSX [24703:4124653]引发了未被捕获的异常 2016-08-25 14:12:44.593 AEDemoApp_Swift_OSX [24703:4124653] - [_ SwiftValue length]:无法识别的选择器发送到实例0x61800004c480 2016-08-25 14:12:44.593 AEDemoApp_Swift_OSX [24703:4124653](     0 CoreFoundation 0x00007fff942d04f2 __exceptionPreprocess + 178     1 libobjc.A.dylib 0x00007fff8c9a873c objc_exception_throw + 48     2 CoreFoundation 0x00007fff9433a1ad - [NSObject(NSObject)doesNotRecognizeSelector:] + 205

之前有人见过这种行为。 BTW使用xCode 8 beta 6 w / Swift 3

0 个答案:

没有答案