gpt4 book ai didi

cocoa - TableView 未根据绑定(bind)更新 - 第二部分

转载 作者:行者123 更新时间:2023-12-03 16:26:31 25 4
gpt4 key购买 nike

标题借自 this question ,其中这个不是重复的。请参阅我的回答,了解该提问者出了什么问题;我是该答案的作者,我的问题不是这个。

我有一个包含三列的 TableView ,其值绑定(bind)绑定(bind)到数组 Controller 的 arrangedObjects 的三个属性。数组 Controller 的 contentArray 绑定(bind)到我的文档对象的 visitationResults;该数组中的项目是模型类 (VisitationResult) 的实例。我还将数组 Controller 的 selectionIndexessortDescriptors 绑定(bind)到我的文档的属性。

我正在通过几个访问器改变我的属性:

- (void) addVisitationResult:(VisitationResult *)newVisitationResult {
[self insertObject:newVisitationResult inVisitationResultsAtIndex:[self countOfVisitationResults]];
NSLog(@"arrayController arrangedObjects: %@", [arrayController arrangedObjects]);
}

该 NSLog 语句运行,并确认数组 Controller 正在收集和排列我的模型对象。这意味着我正在检查我的属性(property)并获取我的文档的 KVO 通知(这证明了先前提问者的问题,即绕过属性(property)的问题,不是我遇到的问题)。

我在模型对象类的访问器方法中添加了 NSLog 语句。其中之一被数组 Controller 调用,以便对对象进行排序(该属性是排序键)。数组 Controller 不知道的另外两个永远不会被调用。

因此,我的表格 View 保持空白。

最佳答案

我发现了问题:这是因为我显式绑定(bind)了 TableView 的 selectionIndexessortDescriptors 绑定(bind)。

无论如何,这不是必需的:我刚刚检查过,并且 the documentation说:

selectionIndexes

Typically, selectionIndexes is bound automatically to the NSArrayController that the first NSTableColumn is bound to.

sortDescriptors

Typically this binding is created automatically, binding to the sort descriptors of the NSArrayController of the initially bound NSTableColumn.

看来不仅没有必要,而且绑定(bind)这两个中的一个或两个都会破坏表格 View 。

关于cocoa - TableView 未根据绑定(bind)更新 - 第二部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1934641/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com