问题 当视图出现时执行一个函数 - Swift


我正在使用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

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


8478
2017-12-15 08:13


起源



答案:


你需要打电话 super.viewDidAppear(animated) 并且方法签名采用Bool所以你应该说:

override func viewDidAppear(animated: Bool)

专家提示: 如果要覆盖方法,只需开始键入要重载的方法名称,Xcode将自动建议方法名称并填写覆盖声明。所以在一个新行开始打字 viewDid 你应该看到了 viewDidAppear 自动完成中的方法下拉列表。紧迫 输入 将为您完成方法签名。


14
2017-12-15 08:16



嘿那里,完美的工作!非常感谢你! - Mydogmaxieboy
@Mydogmaxieboy很高兴帮忙:) - Daniel Galasko


答案:


你需要打电话 super.viewDidAppear(animated) 并且方法签名采用Bool所以你应该说:

override func viewDidAppear(animated: Bool)

专家提示: 如果要覆盖方法,只需开始键入要重载的方法名称,Xcode将自动建议方法名称并填写覆盖声明。所以在一个新行开始打字 viewDid 你应该看到了 viewDidAppear 自动完成中的方法下拉列表。紧迫 输入 将为您完成方法签名。


14
2017-12-15 08:16



嘿那里,完美的工作!非常感谢你! - Mydogmaxieboy
@Mydogmaxieboy很高兴帮忙:) - Daniel Galasko