当前位置: 首页 > 面试题库 >

[__NSCFArray objectForKey:]:无法识别的选择器已发送到实例

孟佑运
2023-03-14
问题内容

我正在尝试从字典中获取特定键的值,但我得到了一个[[__NSCFArray objectForKey:]:无法识别的选择器发送到实例

-(void)connectionDidFinishLoading:(NSURLConnection *)connection{
NSDictionary *avatars = [NSJSONSerialization JSONObjectWithData:webData options:0 error:nil];
NSLog(@"response:::%@", avatars);
if(avatars){
    NSDictionary *avatarimage = [avatars objectForKey:@"- image"];
    NSString *name = [avatars objectForKey:@"name"];
}
}

我NSLog我的头像字典,我的结果是:

(
{
    "created_at" = "2013-06-06T11:37:48Z";
    id = 7;
    image =         {
        thumb =             {
            url = "/uploads/avatar/image/7/thumb_304004-1920x1080.jpg";
        };
        url = "/uploads/avatar/image/7/304004-1920x1080.jpg";
    };
    name = Drogba;
    "updated_at" = "2013-06-06T11:37:48Z";
}
)

问题答案:

问题是您NSArray没有NSDictionary。的NSArray计数为1,并包含NSDictionary

NSArray *wrapper= [NSJSONSerialization JSONObjectWithData:webData options:0 error:nil];
NSDictionary *avatars = [wrapper objectAtIndex:0];

要遍历数组中的所有项目,请枚举数组。

NSArray *avatars= [NSJSONSerialization JSONObjectWithData:webData options:0 error:nil];

for (NSDictionary *avatar in avatars) {
    NSDictionary *avatarimage = avatar[@"image"];
    NSString *name = avatar[@"name"];

    // THE REST OF YOUR CODE
}

注意:我也从-objectForKey:[]语法切换到了。我比较喜欢



 类似资料:
  • 问题内容: 我在尝试让用户按下UIButton时遇到问题。我不断收到错误消息:无法识别的选择器已发送到实例 对于Swift方法,例如传递给选择器方法的正确字符串是什么?是“ buttonClick”,“ buttonClick:”,“ buttonClickSender:”还是其他? 问题答案: 您正在对该操作使用无效的方法签名。您正在提供,但该方法有一个参数,因此签名应为 有关如何设置选择器格式

  • 问题内容: 我看不到以下按钮为何引发错误:2014-08-13 00:29:57.674 view1 [26581:842344]-[view1.ViewController buttonAction:]:无法识别的选择器已发送至实例0x797731c0 2014-08-13 00:29:57.677 view1 [26581:842344] * 由于未捕获的异常’NSInvalidArgumen

  • 问题内容: 每当我尝试更新核心数据模型的值时,我都会不断收到此错误。这是我的模特 这是我的代码tableViewCell 我不断收到错误消息 “由于未捕获的异常’NSInvalidArgumentException’而终止应用程序,原因:’-[Habit setTrackingType:]:无法识别的选择器发送到实例0x7fdcbb002c90’” 在self.habit?.trackingTyp

  • 问题内容: 我已经以编程方式创建了并添加到其中: 但是当我触摸视图时,Xcode抛出错误: 2016-07-13 09:24:29.918 Draft_Hypa_02 [661:83024]-[Draft_Hypa_02.ViewController handleTap:]:无法识别的选择器已发送到实例0x17d94a10 2016-07-13 09:24:29.921 Draft_Hypa_02

  • 问题内容: 我得到我的iOS应用程序错误。我尝试根据其他类似主题中提到的答案解决问题,但失败了。请查看下面的代码,并为此提供帮助。 谢谢 问题答案: 这样写选择器。 Swift 2.3或更低版本。 迅捷3 注意: 一种建议是面糊方法名称始终以小写而不是大写开头。因此,如果您使用而不是,那就更糟了。

  • 问题内容: 我正在使用最新的SDK开发iOS 5.0+应用程序。 我收到此代码一个非常奇怪的错误: 这是我的日志: 看来是。但是我不明白,如果是为什么我在日志上看不到。 我第二次运行该方法时第一次遇到此错误,我没有任何错误。这是我的日志: 顺便说说: 有什么建议吗? 也许某个地方… 问题答案: 我对JSON解释器疯狂使用NSNull的解决方案是在NSNull上创建一个类别,在该类别中我定义inte