【发布时间】:2019-08-28 20:36:52
【问题描述】:
我在 HomeController 中创建了一个 sideMenu(如 Twitter)。这个控制器有两个函数 closeSideMenu() 和 openSideMenu() 并且它们都可以工作。但是当我尝试在 MenuController 中使用 didselectrow 关闭菜单时(顺便说一句,MenuController 是一个 tableview 控制器)它不起作用。我正在使用委托,我在 HomeController 上创建了一个协议,下面是 MenuController 的代码。请问你能帮帮我吗?
//this is in HomeController()
protocol ControlsDelegate {
func closeSideMenu()
}
class HomeController: UICollectionViewController, UICollectionViewDelegateFlowLayout, UIGestureRecognizerDelegate, HomePostCellDelegate {
var controlsMenu : ControlsDelegate?
...
...
...
//this is in MenuController()
extension MenuController: ControlsDelegate {
func closeSideMenu() {
}
}
override func tableView(_ tableView: UITableView, didSelectRowAt IndexPath: IndexPath) {
print("clicked menu items..") // it is working
closeSideMenu()
}
【问题讨论】:
标签: swift controller call func