数据加载到数组后表不更新条目

发布于 2024-12-29 22:31:36 字数 453 浏览 1 评论 0原文

我有一项将数据加载到表视图中的服务。当服务加载数据时,我将数据加载到我的模型中:

[self.model.entries removeAllObjects];
[self.model.entries addObjectsFromArray:objects];

现在我想知道这两个调用是否“符合绑定”,以便表视图知道它必须更新直接绑定到 的数据self.model.entries。我问这个问题是因为服务完成后,表不会再次向我的委托询问 tableviewcell 的数量,因此绑定似乎没有启动。

我想我可以在 tableview 上调用 reloadData但这就不再符合“约束哲学”了,对吗?

请注意,如果我的模型类不存在,它会返回一个新的 NSMutableArray 。我不清楚这是否是使用绑定的正确方法。

I have a service that loads data into my table view. When the service has loaded the data I load the data into my model:

[self.model.entries removeAllObjects];
[self.model.entries addObjectsFromArray:objects];

Now I am wondering if those two calls are "binding compliant" so that the table view will know that it has to update it's data which are directly bound to self.model.entries. I am asking this because after the service is done the table does not ask my delegate again for the number of tableviewcells so it seems that the binding does not kick in.

I think I could call reloadData on the tableview but this would then no longer conform to the "binding philosophy", right?

Please note that my model class returns a new NSMutableArray if it is not present. It is not clear to me if this is the correct approach for using bindings.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

贱贱哒 2025-01-05 22:31:36

为了实现完整的绑定兼容性,您应该通过 NSController 进行绑定...在本例中,大概是 NSArrayController。

通过直接绑定到模型,您将破坏 MVC 模式,不,我不相信 NSTableView 在直接绑定到模型时会拾取更改。

例如,将表视图绑定到 NSArrayController 的arrangedObjects,并使用 NSArrayController 方法,例如:

-add:
-removeObjects:
-insert:

管理内容。表格视图自动接受这些更改。

For full bindings compatibility you should bind through an NSController... in this case, presumably NSArrayController.

By binding directly to the model you are breaking the MVC pattern, and no, I don't believe that the NSTableView will pick up changes when directly bound to the model.

Bind your table view to NSArrayController's arrangedObjects, for example, and use the NSArrayController methods, such as:

-add:
-removeObjects:
-insert:

to manage the content. The table view will pick up on these changes automatically.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文