上面是简易版交互图,
现在是这几个子view用代理方法,交给VC,
请求时,有些参数是全局公用的,存在了一个单例里,在view2里设置,然后在VC里读出来用,
感觉这样不是很好,
现在VC里有太多代理方法了,有什么好的方式解决这个问题么?
上面是简易版交互图,
现在是这几个子view用代理方法,交给VC,
请求时,有些参数是全局公用的,存在了一个单例里,在view2里设置,然后在VC里读出来用,
感觉这样不是很好,
现在VC里有太多代理方法了,有什么好的方式解决这个问题么?
我觉得,可以用KVO.
KVO 是提供对象属性被改变时的通知的机制。如果只对某个对象的值的改变感兴趣的话,就可以使用 KVO 消息传递。
我看,你的需求,好多都是检测值的变化,使用KVO配合Target-Action,应该不错。
Objc.io对于消息传递机制,有篇文章,讲得特别清楚。
明显最好的解决方法就是采用 Rx 响应式编程。如果不习惯的话,其次可以使用闭包将子视图的交互处理传递到 VC 中进行处理。最后你还以采用代理或者通知的机制进行控制转移。
2 回答1k 阅读
1 回答1.1k 阅读✓ 已解决
1 回答2.7k 阅读
1 回答1.5k 阅读
1 回答1.4k 阅读
1.7k 阅读
1 回答1.1k 阅读
Self-Manager
,那么就是 View 自己处理,类似于在 View 中通过响应链拿到控制器去做操作,比如[self.viewController.navigationController pushViewController:vc2 animated:YES];
,省去一部分的代理。