我试图从一个ViewController调用函数到另一个ViewController,因为在其中一个我拥有PageMenuVC(在VC中我试图调用BarButtonItem的函数原因,在另一个我具有在TableMenuVC中显示的tableview)。

TableViewController 中的函数:

func doEdit(sender: AnyObject) {

    if (self.tableView.editing) {
        editButton.title = "Upraviť"
        self.tableView.setEditing(false, animated: true)
    } else {
        editButton.title = "Hotovo"
        self.tableView.setEditing(true, animated: true)
    }
}

在PageMenuVC中调用

我打电话
@IBAction func doEdit(sender: AnyObject) {
    MojeTesty().doEdit() // What should be in doEdit?(here?)?
}

最佳答案

就编译而言,解决此类问题的方法是这样声明您的doEdit:

func doEdit(sender:AnyObject?) {

现在,您可以传递nil,因为您没有真正的sender

但是,这不会产生任何效果,因为当您说MojeTesty()时,您会得到该类的另一个实例—并不是您想要与之交谈的真实实例。您需要停下来并掌握面向对象编程的基本概念(类和实例)。如果您不了解实例是什么,则将永远无法为iOS编程。

关于ios - 从其他VC调用函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33221014/

10-09 22:51