Xcode - 在64位编译应用程序时出错

时间:2015-03-30 03:16:12

标签: ios objective-c xcode types 64-bit

我正在使用Xcode并将我的应用程序更改为32位和64位编译,这导致错误发生。

我收到错误: “找到了名为”count“的多个方法,其中包含不匹配的结果,参数类型或属性”

    - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    // Return the number of sections.
    return [self.sections count];
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    // Return the number of rows in the section.
    return [[self.sections objectAtIndex: section]  count];
}

我认为这是因为64位版本不再将它们视为同一类型。

第二个函数内部发生错误。这是简单的铸造问题吗?如果是这样,我应该将“计数”投射到什么?

谢谢你们。

1 个答案:

答案 0 :(得分:1)

编译器不知道此对象响应的方法。您发送“计数”消息。编译器会遍历它知道的所有类的所有count方法。如果有两个以上的不同,那就必须抱怨。

你可以写

NSArray *tempArray=[self.sections objectAtIndex: section];
return [tempArray  count];