在编辑数组后,告诉Array Controller刷新表视图?

时间:2012-09-15 17:14:28

标签: cocoa tableview nsarraycontroller

感谢阅读:

我之前已经遇到过这个问题并且我知道有一个解决方案,但经过几个小时的搜索后我再也找不到了。

我正在使用NSForm和“添加”按钮来创建学生的新实例,并将该学生添加到数组(sessionRoster)。这里没问题。

- (IBAction)addNewStudentButtonPressed:(id)sender {
//CREATE NEW STUDENT
Student *newStudent = [[Student alloc] init];

//ASSIGN VALUES FROM FORM
newStudent.firstName = [[studentForm cellAtIndex:0] stringValue];
newStudent.lastName = [[studentForm cellAtIndex:1] stringValue];

//ADD STUDENT TO ROSTER
[sessionRoster addObject:newStudent];

//CLEAR FORM
[[studentForm cellAtIndex:0] setStringValue:@""];
[[studentForm cellAtIndex:1] setStringValue:@""];
}

我正在使用Array控制器在tableview中显示数组。这里没问题。我的绑定是正确的,因为我在init中包含了一些“虚拟”学生,并且它们在程序运行时出现(我想发布截图,但我没有足够的声誉)。

我的问题是,每次按下“添加”按钮时如何更新表格? 我确实将表作为属性,并且调用[tableView reloadData]不起作用。我相信之前的解决方案是某种“contentWillUpdate:YES”和“contentDidUpdate:YES”配对,但我再也找不到这些信息了。

感谢您的时间! Ĵ

1 个答案:

答案 0 :(得分:1)

将student对象添加到arrayController而不是数组。阵列控制器“完成提升。”