从其他 VC 调用函数
Calling Function from other VC
我正在尝试从一个 ViewController 调用函数到另一个,因为在一个中我有 PageMenuVC(VC 我正在尝试调用 BarButtonItem 的函数原因和在另一个中,我有显示在 PageMenuVC).
中的表格视图
表中的函数ViewController:
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)
}
}
在 PageMenu 中调用VC
我在打电话
@IBAction func doEdit(sender: AnyObject) {
MojeTesty().doEdit() // What should be in doEdit?(here?)?
}
就编译而言,解决此类问题的方法是这样声明您的 doEdit
:
func doEdit(sender:AnyObject?) {
现在你可以通过 nil
,因为你没有真正的 sender
。
但是,这不会有任何效果,因为当您说 MojeTesty()
时,您会得到此 class 的 不同实例 — 不是真实的一个你想与之交谈的人。您需要停下来掌握面向对象编程的基本概念(class 和实例);如果您不了解实例是什么,您将永远无法为 iOS 编程。
我正在尝试从一个 ViewController 调用函数到另一个,因为在一个中我有 PageMenuVC(VC 我正在尝试调用 BarButtonItem 的函数原因和在另一个中,我有显示在 PageMenuVC).
中的表格视图表中的函数ViewController:
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)
}
}
在 PageMenu 中调用VC
我在打电话
@IBAction func doEdit(sender: AnyObject) {
MojeTesty().doEdit() // What should be in doEdit?(here?)?
}
就编译而言,解决此类问题的方法是这样声明您的 doEdit
:
func doEdit(sender:AnyObject?) {
现在你可以通过 nil
,因为你没有真正的 sender
。
但是,这不会有任何效果,因为当您说 MojeTesty()
时,您会得到此 class 的 不同实例 — 不是真实的一个你想与之交谈的人。您需要停下来掌握面向对象编程的基本概念(class 和实例);如果您不了解实例是什么,您将永远无法为 iOS 编程。