tableView中的问题

时间:2011-04-13 17:16:27

标签: iphone objective-c

我的问题:

[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  


        }
}

1 个答案:

答案 0 :(得分:5)

NSIndexSet存储的整数不是NSIndexPath。传递给索引路径唯一需要的是该部分的无符号整数,而不是NSIndexPath对象。

  

NSIndexSet类表示一个   不可变的独特集合   无符号整数,称为索引   因为他们的使用方式。这个   集合称为索引   集。

您的原始代码示例将如下所示

NSIndexSet *indexSet = [NSIndexSet indexSetWithIndex:currentIndex];
[tableView reloadSections:indexSet withRowAnimation:UITableViewRowAnimationFade];

正如Anna Karenina在评论withRowAnimation中指出的那样:不是在寻找BOOL而是UITableViewRowAnimation。确保查看文档或跳转到定义(^⌘D)以检查所调用方法的参数类型。