关于嵌套 view 传值到 controller,我尝试过多种方案:
方案一直在改进,但始终感觉差那么一点:不够简单直接。
网上关于这个问题的讨论极少,并且分享的方案都是我尝试过的;在群里跟其他开发者也讨论过,依旧没有太多收货。
直到今天洗头的时候,终于把这个问题想通了。
我们都知道 WKWebView
,它有一个 scrollView
,如果你要捕获这个 scrollView
的 scroll
事件,你一定会写:
webView.scrollView.delegate = self
func scrollViewDidScroll(_ scrollView: UIScrollView) {
// do sth
}
这不就是一个典型的嵌套 view 传值到 controller 吗?
看清楚了吗?就是这么简单直接——
直接指定嵌套 view 的代理!
兜兜转转两三年,最终还是在苹果身上找到了完美答案。
在我眼里,衡量代码质量的重要标准之一就是代码是否够简单、够直接,好的业务代码不需要阅读者过多的思考。