问题最初发布在这里:http ://www.daniweb.com/software-development/objective-c/threads/453854/nstableview-is-not-updating-correctly 也有完整的代码。
图形用户界面:
我正在使用 NSMutableArray 来存储在我的表单上填充 NSTableView 的字符串。我正在使用按钮操作来删除指定的行。行使用存储在 int 中的值指定,当您单击表格时会更新。
当我单击表单上的按钮时,它会激活此方法:
-(IBAction)removeFromList:(id)sender
{
NSLog(@"count: %d, at: %d\n",count,at);
if(at<count)
{
[list removeObjectAtIndex:at];
}
[_table reloadData];
at=count+1;
count--;
[_label setStringValue:[self converttonsstring:at]];
}
table指向table,removeFromList从remove中调用,int at指定要删除哪一行,list为NSMutableArray,count为总行数。_label 指向屏幕底部的标签,告诉我 at 指向的位置。我得到以下输出:
2013-05-04 02:32:17.874 ToDoList[571:903] count: 7, at: 2
2013-05-04 02:32:34.763 ToDoList[571:903] *** -[NSCFArray objectAtIndex:]: index (6) beyond bounds (6)
最后一行不断重复。我不知道这里发生了什么或我应该看什么。据我所知,这是我项目中唯一不起作用的部分。任何帮助或我应该看的东西都非常感谢。