我经常需要一个类将属性转发给另一个类,例如:
var thumbnailTappedCallback: (Photo) -> Void {
get {
return controlBar.thumbnailTappedCallback
}
set {
controlBar.thumbnailTappedCallback = newValue
}
}
通过将属性从一个类转发到另一个类,Swift提供了更好的做法,例如:
var thumbnailTappedCallback = forward(controlBar.thumbnailTappedCallback)
背景是视图层次结构中的每个视图都会公开这样的回调。父视图在层次结构中聚合和销售视图。子视图只是父视图的实现细节,不能直接访问。有些甚至是fileprivate。但这意味着更高级别的类有多达四个这样的回调转发给其他类。
我想检查这个问题是否有更清晰的解决方案。