我使用基于视图的NSTableView和绑定来显示我的对象的内容。
当我删除其中一个时,tableView通过删除该对象的单元格来反映更改。
问题是NSTableCellView没有收到带有nil或其他对象的setObjectValue:因此对象referenceCount没有递减,我的对象永远不会释放。
有没有办法覆盖tableView以强制调用setObjectValue:何时缓存deletedRows?
感谢您的帮助。
答案 0 :(得分:2)
我刚刚在这里找到了解决方案。
https://devforums.apple.com/message/575883#575883
如果链接失败,解决方案是手动设置,使用以下方法
- (void)tableView:(NSTableView *)tableView didRemoveRowView:(NSTableRowView *)rowView forRow:(NSInteger)row NS_AVAILABLE_MAC(10_7);
{
for (NSInteger columnIndex = 0; columnIndex < [rowView numberOfColumns]; columnIndex++) {
[[rowView viewAtColumn:columnIndex] setObjectValue:nil];
}
}