【问题标题】:Swift access another class without creating a new instanceSwift 访问另一个类而不创建新实例
【发布时间】:2015-07-07 18:22:26
【问题描述】:

我有一个带有视图的 iOS 应用程序,其中包含一个包含 tableView 的容器。我想从这个 tableView 控制器访问一个函数,但我不想在这个过程中创建这个 tableView 的新实例。我试过了,它创建了一个新实例,这意味着我无法更改视图上显示的变量。

如何从我的 FirstViewController 访问我的 BucketTableViewController 中的函数 updateBuckets,它已经在运行一个实例?

目前我正在尝试self.BucketTableViewController.updateBuckets(self.bigArray) 并收到错误FirstViewController 没有名为BucketTableViewController 的成员

【问题讨论】:

  • 一些示例代码会非常有帮助,但是从阅读这里开始,听起来您应该实现delegate pattern

标签: ios swift uitableview


【解决方案1】:

查看最近的答案: how can i update other controllers' UI in swift?

通知可能是您最好的选择。在您的 FirstViewController 中创建一个名为“dataUpdated”之类的通知。在您的 BucketTableViewController 中,您可以查看该通知。

或者,如果您要更新的“UI”只是您的表格本身,您应该只更新数据源,然后在您的表格视图上调用 reloadData()

【讨论】:

    猜你喜欢
    • 2020-07-16
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-13
    • 1970-01-01
    • 1970-01-01
    • 2017-09-29
    相关资源
    最近更新 更多