出现视图时执行函数 - Swift

Posted

技术标签:

【中文标题】出现视图时执行函数 - Swift【英文标题】:Executing a function when a view appears - Swift 【发布时间】:2014-12-15 08:13:28 【问题描述】:

我正在使用 Swift 语言为 ios 构建一个应用程序。我从表视图控制器开始作为我的根视图控制器,然后我有一个辅助视图控制器,其中定义了一个变量 (passData)。这一切都很好,并且它正确地将数据(我认为)从辅助视图控制器传递回主视图控制器。但是,当用户返回主视图控制器时,我需要执行一个函数,然后将“addTitle”值添加到数组中。我知道如何将它添加到数组中,但是...

我不知道当视图返回时如何启动该函数。我的意思是,在用户完成辅助视图控制器并定义变量“passData”后,他们将按下导航栏上的后退按钮。然后我需要主视图控制器识别它再次显示给用户,然后执行以下代码:

tableData += [passData]
tableSubtitle += [passDescription]

我尝试了以下方法:

override func viewDidAppear() 
    tableData += [passData]
    tableSubtitle += [passDescription]

但这给出了Method does not override any method from its superclass的错误。

本质上,我只需要知道如何在视图显示时启动一个函数。我怎样才能做到这一点?

【问题讨论】:

【参考方案1】:

你需要调用super.viewDidAppear(animated) 并且方法签名需要一个 Bool 所以你应该说:

override func viewDidAppear(animated: Bool)

专业提示:如果你想覆盖一个方法,你可以直接输入你想重载的方法名,Xcode 会自动建议方法名并填写覆盖声明。因此,在新的一行开始输入viewDid,您应该会在自动完成下拉菜单中看到viewDidAppear 方法。按 enter 将为您完成方法签名。

【讨论】:

以上是关于出现视图时执行函数 - Swift的主要内容,如果未能解决你的问题,请参考以下文章

Swift segue 到函数中的另一个视图控制器

使用惰性执行代码一次 - Swift

Swift:Xcode 6.1.1 更改由代码块执行而不是按钮触发的视图

键盘出现时UITextField上移【Swift】

如何从目标函数集(Swift 3)访问 UICollectionView 中的按钮

Segue 不会执行 Swift