我的问题:
[tableView reloadSections:[NSIndexSet indexSetWithIndex:[NSIndexPath indexPathForRow:1 inSection:currentIndex]] withRowAnimation:YES]; //passing argument 1 of indexSetWithindex makes integer from pointer without a cast
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// Navigation logic may go here. Create and push another view controller.
if (!self.editing) {
if(indexPath.section%2!=0)
{
ConsultationCarteV *consultationCarteV = [[ConsultationCarteV alloc] initWithNibName:@"ConsultationCarteV" bundle:nil];
// ...
// Pass the selected object to the new view controller.
[CartesManager sharedInstance].indexCarteCourante=indexPath.row ;
[CartesManager sharedInstance].isEditable = NO ;
[self.navigationController pushViewController:consultationCarteV animated:YES];
[consultationCarteV release];
}
else {
currentIndex = indexPath.section +1 ;
[tableView reloadSections:[NSIndexSet indexSetWithIndex:[NSIndexPath indexPathForRow:1 inSection:currentIndex]] withRowAnimation:YES]; //passing argument 1 of indexSetWithindex makes integer from pointer without a cast
}
}
答案 0 :(得分:5)
NSIndexSet
存储的整数不是NSIndexPath
。传递给索引路径唯一需要的是该部分的无符号整数,而不是NSIndexPath对象。
NSIndexSet类表示一个 不可变的独特集合 无符号整数,称为索引 因为他们的使用方式。这个 集合称为索引 集。
您的原始代码示例将如下所示
NSIndexSet *indexSet = [NSIndexSet indexSetWithIndex:currentIndex];
[tableView reloadSections:indexSet withRowAnimation:UITableViewRowAnimationFade];
正如Anna Karenina在评论withRowAnimation中指出的那样:不是在寻找BOOL
而是UITableViewRowAnimation
。确保查看文档或跳转到定义(^⌘D)以检查所调用方法的参数类型。