gpt4 book ai didi

objective-c - xcode重新加载tableview

转载 作者:行者123 更新时间:2023-11-28 23:09:48 25 4
gpt4 key购买 nike

在我的应用程序中,我有一个由 NSMutableArray 中的值填充的 TableView 。这个可变数组被添加到一个单独的 View Controller 中,所以我必须重新加载数据。

这可能是一个非常简单的问题,但我已经阅读了 15 多篇帖子,但似乎没有一篇提到 xcode 4.2 以及 [self.tableView reloadData] 的确切放置位置。这个方法到底应该放在哪里?当我尝试将它放在 tableviews 源代码的不同位置时,tableview 第一次初始化时没有任何值。

或者它应该放在其他 View Controller 代码中,在这种情况下我如何引用正在使用的 UItableview 子类的特定实例?

非常感谢。

最佳答案

Xcode 4.2 没有什么特别之处应该在这里有所不同,因此您应该注意您找到的其他来源,即使它们引用其他版本的 Xcode。

它不必完全是 [self.tableView reloadData]。您向 TableView 对象发送 reloadData 消息。您如何访问该 TableView 对象 - 通过自身的属性、通过实例变量、通过另一个类中的属性等 - 由您决定。

如果您已经设置了 tableView 属性,那么从另一个 View Controller 重新加载数据的最简单方法就是简单地向 TableView 对象发送 reloadData 消息直接地。因此,例如,如果 ViewControllerFoo 中的方法有一个指向 ViewControllerBar 的指针,称为 bar 并且知道它应该重新加载其 TableView ,它可以调用[bar.tableView reloadData]

如果您没有设置该属性,您可以自己创建它,或者您可以在 View Controller 上创建一个 reloadData 方法,该 View Controller 包含代表其他 View 执行它的 TableView Controller 。

然而,这些方法混合了逻辑和表示,这通常是一个非常糟糕的架构。如果一个 View Controller 知道另一个 View Controller 应该更新它的 View ,那么很有可能,您应该将一些逻辑分解到独立于任何特定 View Controller 的第三个类。第三类可以传输通知,或者您的 View Controller 可以通过 KVO 监听其状态的变化。

关于objective-c - xcode重新加载tableview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8594606/

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