2015-01-02 39 views
18

我收到在构建应用时发现多个名为'count'的方法,结果不匹配,参数类型或属性错误。该应用程序在32位工作正常。根据Apple guideline,我已将其更改为64位。我已经提到了这个Link,但没有得到任何帮助。Xcode 6.1:找到了多个名为'count'的方法,结果不匹配,参数类型或属性不匹配

我已经在模拟器上的多个设备上测试了应用程序。 它在32位上工作正常,但在64位中提示错误。 这是为什么呢?

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

} 

Error

+0

尝试调用“计数”前投响应NSArray的任何财产。 –

回答

9

解决方案1: 我宣布算作一个视图控制器财产。我将其重命名为CountValue并且问题解决了。

解决方案2: 可以将其类型转换为适当的数据类型。

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

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

22
if([response count]>0) 

responseid这里,错误提示有多种方法称为count它返回不同类型 - intNSInteger我想在64位不同,但在同一32.

修复,执行演员:

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

这是不可行的,因为有大约1000个地方可以改变......任何其他修补程序 –

+1

成千上万的地方?另一种方法是找到另一个计数方法(大概在你的代码中)并改变返回类型。但是如果你有数千个你正在计数的id对象,那听起来是错误的。 – jrturton

0

仔细检查你的反应,有没有用名计数

+0

如果它有什么问题? –

相关问题