我正在找到名为'count'的多个方法,在构建应用时发现结果不匹配,参数类型或属性错误。该应用程序在32位工作正常。我根据Apple guideline将其更改为64位。我已经提到了Link,但没有得到任何帮助。
我在模拟器上测试了多个设备上的应用程序。 在32位上工作正常,但在64位时提示错误。 为什么会这样?
-(void)serviceSuccessFulForPatientSelect:(id)response
{
[self hideOverlay];
if([response isKindOfClass:[NSArray class]])
{
if([response count]>0)
{
if(1)
{
...
}
}
}
[refillDetailTable reloadData];
}
答案 0 :(得分:22)
if([response count]>0)
response
此处为id
,错误表明有多种名为count
的方法会返回不同的类型 - int
和NSInteger
我认为不同在64位但在32位相同。
要修复,请执行演员:
if([(NSArray*)response count]>0)
答案 1 :(得分:10)
解决方案1: 我在视图控制器中声明计为属性。我将其重命名为 CountValue ,问题就解决了。
解决方案2: 您可以键入类型转换为适当的数据类型。
if([(NSArray *) response count]>0) {
...
}
此解决方案在我的案例中不可行,因为有1000个地方包含[response count]
。
答案 2 :(得分:0)
仔细检查您的回复,是否有任何名称为计数
的媒体资源