swift protocol 没传入的问题

陳尹
  • 348

如图,我写了一个 protocol 要从 view 回传至 viewcontroller

图片描述
图片描述
图片描述

但所属的物件层级 是 HomePageViewController -> HomePageView ->LeftSideMenuView

我问题一些 大大,都是说 「因为没传进去」?没传进去?这个我不懂,这样的写法不是对的吗?(对不起因为小妹实在不知道这个的原理,只是靠硬背来使用 )

请问各位大大,正确的写法应该是什么???(这里卡了两天了...)

回复
阅读 1.6k
1 个回答
✓ 已被采纳

protocol onSideMenuButtonAction {

 func leftButtonAction(type:String)

}

class HomePageViewController: UIViewController,onSideMenuButtonAction {

var homePageView:HomePageView{ return self.view as! HomePageView }
override func loadView() {
    view = HomePageView()
    homePageView.bindTo(action:self)
    }

}

class HomePageView: UIView {

 fileprivate lazy var leftSideMenuView:LeftSideMenuView = LeftSideMenuView()
  override init(frame: CGRect) {
    super.init(frame: frame)
    addSubview(leftSideMenuView)  
  }
  func bindTo(action: onSideMenuButtonAction) {
    leftSideMenuView.sideMenuAction = action
   }
    func onButtonAction(sender:SideMenuButton) {
        self.sideMenuAction?.leftButtonAction(type: text)
    }

}
class LeftSideMenuView: UIView {

var sideMenuAction:onSideMenuButtonAction?

}

中間設一個中繼

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏