Swift:在类型'ViewController'上使用实例成员;你的意思是使用'ViewController'类型的值

时间:2017-01-18 14:38:43

标签: ios xcode swift3

正如标题所示,Swift告诉我我正在调用ViewController类的成员,而不是对象。我看了很多其他帖子,无法弄清楚我哪里出错了。

func endEventSteps() {
    UserDefaults.standard.set(false, forKey: "hasLoggedIn")
    UserDefaults.standard.set(nil, forKey: "usersEmail")
    UserDefaults.standard.set(nil, forKey: "usersPassword"
    performSegue(withIdentifier: "backToLoginScreen", sender: self)
}
let alertController = UIAlertController(title: "End event", message: "Are you sure you'd like to end this event?", preferredStyle: UIAlertControllerStyle.alert)
let DestructiveAction = UIAlertAction(title: "End",
                                          style: UIAlertActionStyle.destructive,
                                          handler: {(alert: UIAlertAction!) in endEventSteps()})

编辑:我在最后一行收到以下错误:“在'InfoSubmisionViewController'类型上使用实例成员'endEventSteps';你的意思是使用'InfoSubmisionViewController'类型的值吗?”。当我将简单命令作为处理程序时,代码编译很好,例如print(“foo”)

以上所有代码都在自定义的ViewController类中,'InfoSubmissionViewController'。

1 个答案:

答案 0 :(得分:2)

假设您有一个名为DestructiveAction的控制器类,那么

let DestructiveAction = ...

应该是

let destructiveAction = ...