Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 无法识别的选择器_Ios_Selector_Sbjson - Fatal编程技术网

Ios 无法识别的选择器

Ios 无法识别的选择器,ios,selector,sbjson,Ios,Selector,Sbjson,可能重复: 我在两个项目中使用了SBJson()。因此,我下载了代码并将其复制到我的第一个项目中,这样我就可以做类似的事情 NSMutableDictionary* dict = [[NSMutableDictionary alloc] init]; [dict setValue:email forKey:@"email"]; [dict setValue:password forKey:@"password"]; NSString* json = [dict JSONRepresentat

可能重复:

我在两个项目中使用了SBJson()。因此,我下载了代码并将其复制到我的第一个项目中,这样我就可以做类似的事情

NSMutableDictionary* dict = [[NSMutableDictionary alloc] init];
[dict setValue:email  forKey:@"email"];
[dict setValue:password forKey:@"password"];
NSString* json = [dict JSONRepresentation];
现在,对于我的第二个和新项目,我也做了同样的事情。我将所有源文件从SBJson复制到我的新项目中,并使用与上面完全相同的代码。但是现在当程序到达第NSString*json=[dict JSONRepresentation]行时;我收到以下错误消息:

-[\uu NSCFDictionary JSONRepresentation]:发送到实例0x689c710的无法识别的选择器


我在第二个项目中做错了什么?

确保所有文件都已添加到目标中

  • 由于iOS5不需要外部库来使用JSON,因此可以帮助您实现这一点

  • 该错误是因为您告诉dict(NSMutableDictionary的一个实例)执行一个名为JSONRepresentation的方法。迪克特不知道怎么做。我还没有使用该库,但我想您需要创建一个SBJSON解析器实例,然后将dict作为参数发送。我发现和教程,我希望他们可以帮助你


  • 请检查此链接:您是否导入了
    SBJson.h
    ?我确信您使用的是静态库,但链接器没有将SBJson添加到NSDictionary的类别文件合并到NSDictionary中。@BillWilson这没有什么区别。这是一个运行时错误,不是编译器警告。Obj-C是一种动态语言;导入头只是为了愚弄编译器,方法名查找是在运行时进行的。@H2C03我没有看到提到静态库,听起来所有源代码都包含在他的项目中。在任何情况下,都可能是所有文件都已添加到项目中,但未包含在目标中。也许吧?谢谢你的回答。我的问题已经通过上面的评论解决了。