ios - react native 错误 : [__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[0]'

标签 ios react-native react-native-ios

我在尝试将数据传递给 Obj-C 方法时遇到错误。

代码如图,Obj-C:

RCT_EXPORT_METHOD(connect:(NSDictionary *) params) { 
    _connection = [_phone connect:params delegate:self]; 
}

js:

Twilio.connect({To: '+447842111281'});

问题源于处理 NSDictionary,但是我看不出数据有问题。任何见解将不胜感激。

堆栈轨迹如下:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[0]'
*** First throw call stack:
(
    0   CoreFoundation                      0x000000010d94f34b __exceptionPreprocess + 171
    1   libobjc.A.dylib                     0x000000010c4f921e objc_exception_throw + 48
    2   CoreFoundation                      0x000000010d865d8f -[__NSPlaceholderDictionary initWithObjects:forKeys:count:] + 351
    3   CoreFoundation                      0x000000010d865bfb +[NSDictionary dictionaryWithObjects:forKeys:count:] + 59
    4   reactNativeRogChapTwilio            0x000000010b783107 -[TCConnectionInternal provideStats] + 1384
    5   reactNativeRogChapTwilio            0x000000010b79fdb9 __21-[TCRTCMonitor start]_block_invoke + 70
    6   libdispatch.dylib                   0x00000001118e40cd _dispatch_client_callout + 8
    7   libdispatch.dylib                   0x00000001118c01c3 _dispatch_continuation_pop + 1091
    8   libdispatch.dylib                   0x00000001118d51e2 _dispatch_source_latch_and_call + 195
    9   libdispatch.dylib                   0x00000001118cdd7d _dispatch_source_invoke + 1098
    10  libdispatch.dylib                   0x00000001118c4b2e _dispatch_main_queue_callback_4CF + 1006
    11  CoreFoundation                      0x000000010d9134f9 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
    12  CoreFoundation                      0x000000010d8d8f8d __CFRunLoopRun + 2205
    13  CoreFoundation                      0x000000010d8d8494 CFRunLoopRunSpecific + 420
    14  GraphicsServices                    0x00000001132cda6f GSEventRunModal + 161
    15  UIKit                               0x000000010ff9df34 UIApplicationMain + 159
    16  reactNativeRogChapTwilio            0x000000010b77d2ef main + 111
    17  libdyld.dylib                       0x000000011193068d start + 1
    18  ???                                 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException

最佳答案

这可能与您的问题有关,也可能无关。但是这个错误对我来说很常见,因为 params 节点数据在没有转换类的情况下返回。哪个 Objective-C 非常挑剔。

例如,如果我放置一个断点,我会得到这个:

po params[@"callerUserName"]
<extracting data from value failed>

我找到的解决方案是这样转换的:

po ((NSString*)params[@"callerUserName"])

super 好奇为什么会这样!因为对于我的一些方法,数据传递得很好。但是,如果我的字符串中只有一个整数值(例如一封包含数字的电子邮件),则 Obj-C 不知道如何处理自己

关于ios - react native 错误 : [__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[0]',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39986999/

相关文章:

pdf - 如何在 react native 应用程序中查看和共享来自 URL 的 pdf?

c# - ios monotouch 的 UIProgressView 跟踪下载状态

ios - UIManagedDocument 中 Core Data 对象的状态保存和恢复策略

facebook - 如何在 React Native 应用程序中实现 Facebook 的评论插件?

ios - 在世博会上发布 react native 应用程序时出现意外代码 404

react-native - 使用 'react-native-svg' 库显示 SVG 图像,但在 iOS 中遇到 'Unrecognized font family' 错误(Android 工作正常。)

ios - 如何绘制相对于 UIView 大小的点网格?

ios - 用于 youtube 自动播放、屏幕超时和摄像头的 html5 ios native 桥

javascript - react native : @providesModule declaration with the same name across two different files

ios - 对 'iPhoneSimulator' 使用 sys root,但在 NPM 安装中针对 'MacOSX' 警告