发现多个名称为“ count”的方法,结果,参数类型或属性不匹配

贝尼内利

自从Xcode 5.1更新以来,我无法再存档我的项目。Xcode总是说“找到了多个名为“ count”的方法,结果,参数类型或属性不匹配。此问题是新问题,并且模拟器可以在设备上正常运行。代码如下:

    for ( int i = 0; i<[parseJSONArray count];i++){
        for (int j = 0; j<[JSON[@"data"][@"menu"][i][@"item"] count];j++){
            [pictureURL addObject:JSON[@"data"][@"menu"][i][@"item"][j][@"image"]];
        }
    }

Xcode在此时显示错误:[JSON[@"data"][@"menu"][i][@"item"] count] JSON是一个NSDictionary这怎么了

gnasher729

问自己:JSON [@“ data”] [@“ menu”] [i] [@“ item”]的类型是什么?它是“ id”。编译器不知道该对象响应哪种方法。您发送一个“计数”消息。编译器将遍历它所知道的所有类的所有count方法。如果有两个以上不同的对象,则必须投诉。

你可以写

NSDictionary* data = JSON [@"data"];
NSArray* menu = data [@"menu"];
NSDictionary* menuI = menu [i];
NSArray* item = menuI [@"item"];

for (NSDictionary* picture in item)
    [pictureURL addObject:picture [@"image"];

更具可读性,易于遵循,运行速度更快且易于调试。

当然你也可以写

for (NSUInteger j = 0; j < item.count; ++j)
{
    NSDictionary* picture = item [i];
    [pictureURL addObject:picture [@"image"];
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Xcode 6.1:发现多个名为“ count”的方法,它们的结果,参数类型或属性不匹配

发现多个名为“ setCornerRadius:”的方法,但结果,参数类型或属性不匹配

如何禁用“结果不正确,参数类型或属性不匹配的名为...的多个方法”

com.fasterxml.jackson.databind.JsonMappingException:名称为“ defaultReference”的多个反向引用属性

Spring Boot:java.lang.IllegalArgumentException:发现了多个名称为[spring_web]的片段

类型名称为value的Python函数参数的名称和原因

DMax中具有多个参数的类型不匹配

System.Data.DataRowView'不包含名称为'State'的属性

属性名称为Lambda Expression C#

类型不匹配,预期()发现使用lookup_host时的结果

类型不匹配。必需:结果<列表<数据项>>!发现:成功

找到多个名为“ setYear”的方法,结果不匹配

Web Api 路由:发现多个控制器类型与参数 VS 常量路径的 URL 匹配

名称为空的方法的目的是什么?

名称为getExternalFilesDirs的无方法-Samsung Tablet

显示功能但实例名称为空的SQL Server发现报告

当节点/属性名称为变量/参数时,寻找eval()替代方法

与该类型名称不匹配

WebApi“发现多个与请求匹配的操作”错误

源多个名称为空的sql文件

在tomcat7上以战争方式部署的Spring Boot应用程序失败,并出现错误“发现了多个名称为[org_apache_tomcat_websocket]的片段”

AWS DynamoDB DocumentClient 查询错误 - 一个或多个参数值无效:条件参数类型与架构类型不匹配

多个名称匹配模式

名称为“ count”的计数列返回多行。为什么?

一个或多个参数值无效:预期的键xyz类型不匹配:S实际:M

没有名称为“nullOk”的命名参数

从 ActionLink 传递到 Controller 时参数名称为 null

表名称为参数的游标的更新记录

Angular HttpClient,名称为'query'的参数无法设置