目标 c [__NSArrayM对象 ForKey:]:发送到实例的无法识别的选择器



我声明了数据

如下

@property(强,非原子)NSDictionary *DATA;

我在控制台数据中的表是:

(
    {
    comment = "";
    deadline = deadline;
    id = 2;
    responsible = "responsable action 1";
    status = pending;
    title = "";
}
)

但问题在于NSLog(@"%@",[DATA objectForKey:@"deadline"]);

您正在使用此DATA对象作为NSDictionary,但它是NSArray。您可以检查从(开始的日志,这表明它是一个数组。

你也可以这样检查,

    if ([DATA isKindOfClass:[NSDictionary class]]) {
      //then this is dictionary
    }else{
        // other datatype
    }

在用作NSLog(@"%@",[DATA objectForKey:@"deadline"])之前。

如果您现在想访问,您可以使用 as,但为此,此数据应为 NSArray or NSMutableArray .

@property (strong, nonatomic) NSArray *DATA;

[[DATA objectAtIndex:0] objectForKey:@"deadline"]

上面的 JSON 响应是一个数组而不是字典,() = 数组和 {} = 字典。

理想情况下,你应该有这样的东西,

{  
   "comment":"",
   "deadline":"deadline",
   "id":2,
   "responsible":"responsable action 1",
   "status":"pending",
   "title":""
}

不过,您可以尝试使用数组而不是字典,并检查它在解析时是否给您错误。

相关内容

最新更新