Swift 访问另一个类而不创建新实例
Posted
技术标签:
【中文标题】Swift 访问另一个类而不创建新实例【英文标题】:Swift access another class without creating a new instance 【发布时间】:2015-07-07 18:22:26 【问题描述】:我有一个带有视图的 ios 应用程序,其中包含一个包含 tableView 的容器。我想从这个 tableView 控制器访问一个函数,但我不想在这个过程中创建这个 tableView 的新实例。我试过了,它创建了一个新实例,这意味着我无法更改视图上显示的变量。
如何从我的 FirstViewController 访问我的 BucketTableViewController
中的函数 updateBuckets
,它已经在运行一个实例?
目前我正在尝试self.BucketTableViewController.updateBuckets(self.bigArray)
并收到错误FirstViewController
没有名为BucketTableViewController
的成员
【问题讨论】:
一些示例代码会非常有帮助,但是从阅读这里开始,听起来您应该实现delegate pattern。 【参考方案1】:查看最近的答案: how can i update other controllers' UI in swift?
通知可能是您最好的选择。在您的 FirstViewController 中创建一个名为“dataUpdated”之类的通知。在您的 BucketTableViewController 中,您可以查看该通知。
或者,如果您要更新的“UI”只是您的表格本身,您应该只更新数据源,然后在您的表格视图上调用 reloadData()
。
【讨论】:
以上是关于Swift 访问另一个类而不创建新实例的主要内容,如果未能解决你的问题,请参考以下文章
为啥我需要创建 Line 的新实例,而不是在 Kivy 中简单地更新或添加和删除它
为啥我需要创建 Line 的新实例,而不是在 Kivy 中简单地更新或添加和删除它