Xcode 6.1:发现多个名为 'count' 的方法具有不匹配的结果、参数类型或属性

Xcode 6.1 : Multiple methods named 'count' found with mismatched result, parameter type or attributes

在构建应用程序时,我发现 多个名为 'count' 的方法具有不匹配的结果、参数类型或属性错误 。该应用程序在 32 位中运行良好。我已根据 Apple guideline. I have referred this Link 将其更改为 64 位,但没有得到任何帮助。

我已经在模拟器上的多个设备上测试了应用程序。 在 32 位上运行正常,但在 64 位上提示错误。 为什么会这样?

 -(void)serviceSuccessFulForPatientSelect:(id)response
{
    [self hideOverlay];
    if([response isKindOfClass:[NSArray class]])
    {
        if([response count]>0)
        {
            if(1)
            {
               ...
            }
        }
    }
    [refillDetailTable reloadData];

}

if([response count]>0)

response 在这里是一个 id,错误表明有多个方法称为 count,其中 return 不同类型 - intNSInteger 我认为 64 位不同,但 32 位相同。

要修复,执行转换:

if([(NSArray*)response count]>0)

解决方案 1: 我在视图控制器 中声明 count 为 属性。我将其重命名为 CountValue,问题就解决了。

方案二: 您可以类型转换为适当的数据类型。

if([(NSArray *) response count]>0) {
  ...
}

这个解决方案在我的情况下不可行,因为有 1000 个地方包含 [response count]

仔细检查您的回复,是否有名称为 count

的 属性