如何从自定义 UIView 调用 UIViewController 内的 method/an 操作?

How to call a method/an action inside UIViewController from custom UIView?

在我的 iOS 项目中,在 Swift 中,我有一个自定义 UIView,其中包括一个 Button。 此视图是 UIViewController 视图的一部分。 当我从我的自定义视图中触摸按钮时,我想在我的 UIViewController.

中触发一个方法

这样做的最佳做法是什么?

使用protocol/delegate:

protocol TapHandler {
func tapped()
}


class MyView: UIVieww {
weak var tapHandler: TapHandler?

/// button tap handler
@obj func yourTapFunctionInsideView() {
tapHandler?.tap()
}
}

class MyViewController: UIViewController, TapHandler {
var view: MyView?

override func viewDidLoad() {
super.viewDidLoad()
view?.tapHandler = self
}

func tapped() {
/// tapped
}
}