使用insertRowsAtIndexPaths时,索引超出空数组的范围

时间:2012-01-04 04:19:55

标签: iphone ios uitableview

最初,没有。 Of = 0且没有。段中的行数= 0。当数据可用时,没有。部分更改为1和否。一节中的行继续递增1。

NSArray *indexPathArray=[NSArray arrayWithObject:rowSectionIndexPath];  
[tableView beginUpdates];
[tableView insertRowsAtIndexPaths:indexPathArray withRowAnimation:UITableViewRowAnimationFade]; 
[tableView endUpdates];

我尝试使用上面的代码,在表中插入行。但是收到了错误 - [NSMutableArray objectAtIndex:]:索引1超出空数组的边界。

我开始将行插入行的行和部分值是    row = 1且section = 1;    row = 2和section = 1; ....等等。

我在代码中缺少什么,考虑到我使用了所有必需的方法numberOfSectionsInTableView,numberOfRowsInSection,cellForRowAtIndexPath和heightForRowAtIndexPath。

4 个答案:

答案 0 :(得分:0)

试试这个。它可能对你有帮助。

    - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
    {
            return 1;
    }

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    {


      return [displayWineList count];//pass your array count
    }

答案 1 :(得分:0)

试试这样..,

   - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView  
     {            
       return 1;    
     } 

   - (NSInteger)tableView:(UITableView *)tableView
      numberOfRowsInSection:(NSInteger)section   
     {         
       return [yourArray count];
     }

答案 2 :(得分:0)

  

我开始将行插入行的行和节值是row = 1和section = 1; row = 2和section = 1; ....等等。

您是否尝试从行= 0开始? (也许你做过,但我不是英国人,问题的第一部分让我感到困惑)

因为如果你从空表开始,你需要在尝试填充1之前填0。

答案 3 :(得分:-1)

请写下

[tableview reloadData]

[tableView reloadSections:[NSIndexSet indexSetWithIndex:0]withRowAnimation:UITableViewRowAnimationRight];