在iOS设计中Proxy和Delegate有什么不同?我正在读项目,我还没有看到设计模式,一小部分代理,否则就是委托。
它们之间有什么区别吗?
@protocol BaseViewControllerProxy <NSObject>
@optional
- (void)updateLayout:(CGRect)rect;
- (void)viewWillAppear:(BOOL)animated; @optional
- (void)viewWillTransitionToSize;
- (void)viewWillAnimateTransitionToSize;
- (void)viewDidTransitionToSize;
- (void)viewWillTransitionFrom:(UITraitCollection *)oldCollection toTraitCollection:(UITraitCollection *)newCollection;
- (void)viewWillAnimateTransitionToTraitCollection:(UITraitCollection *)newCollection;
- (void)viewDidTransitionToTraitCollection:(UITraitCollection *)newCollection;
@end发布于 2017-10-12 10:08:28
Proxy和Delegate非常不同,下面是我能想到的一些东西:
在涉及大型本地数据库并且您不希望在一次调用中创建真实对象的实例的情况下,Proxy模式非常有用。(例如,您有1000个产品,但您确实希望加载100到100,您可以加载所有100个对象,然后使用带有对象主键的代理加载其他900个对象。)我相信这个模式对内存管理很有帮助,这只是NSProxy的一个用例。有关proxy的更多信息,请单击此处。
Delegate模式主要用来充当HQ Commander。委托就像一个代表另一个对象的对象。一种非常常见的用例是,当button位于tableview cell内部时,您需要从其view controller处理此类操作,因此您需要为tableview cell提供一个HQ Commander,在本例中,我们将其设置为view controller。因此,每次点击button时,都会通知HQ Commander,view controller将执行其执行的任务,
https://stackoverflow.com/questions/46699936
复制相似问题