如何从ViewController
UITableView
的自定义tableview单元格中调用ViewController
的函数(使用SWIFT)?
答案 0 :(得分:10)
你可以采用几种方法
UITabelVeiwCell
的委托,然后从单元格调用self.delegate.whatEverDeelgate()
NSNotificationCenter.defaultCenter().addObserver(self, selector: "nameOfSelector", name: "Name Of Notification", object: nil)
内注册该通知,然后从tableView单元格postNotification注册,但请确保您还要删除Observer,请访问此link以获取更多详细信息@weak var viewController:YourViewcontroller
并使用它来调用视图控制器上的方法(不推荐)答案 1 :(得分:4)
从您的手机发布通知:
NSNotificationCenter.defaultCenter().postNotificationName("notificationName", object: nil)
然后在你的viewController中听取它:
NSNotificationCenter.defaultCenter().addObserver(self, selector: "functionToCall", name: "notificationName", object: nil)
确保在viewController中定义新函数:
func functionToCall() {
//This function will be called when you post the notification
}
答案 2 :(得分:1)
您可以在protocol
课程中声明UIableViewCell
。
成为此协议的ViewController
代表。
在您的单元格中执行某些操作时,请调用此委托方法。