首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS设计模式下Proxy和Delegate的区别

iOS设计模式下Proxy和Delegate的区别
EN

Stack Overflow用户
提问于 2017-10-12 09:23:28
回答 1查看 348关注 0票数 0

在iOS设计中Proxy和Delegate有什么不同?我正在读项目,我还没有看到设计模式,一小部分代理,否则就是委托。

它们之间有什么区别吗?

代码语言:javascript
复制
@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
EN

回答 1

Stack Overflow用户

发布于 2017-10-12 10:08:28

ProxyDelegate非常不同,下面是我能想到的一些东西:

在涉及大型本地数据库并且您不希望在一次调用中创建真实对象的实例的情况下,Proxy模式非常有用。(例如,您有1000个产品,但您确实希望加载100到100,您可以加载所有100个对象,然后使用带有对象主键的代理加载其他900个对象。)我相信这个模式对内存管理很有帮助,这只是NSProxy的一个用例。有关proxy的更多信息,请单击此处。

Delegate模式主要用来充当HQ Commander。委托就像一个代表另一个对象的对象。一种非常常见的用例是,当button位于tableview cell内部时,您需要从其view controller处理此类操作,因此您需要为tableview cell提供一个HQ Commander,在本例中,我们将其设置为view controller。因此,每次点击button时,都会通知HQ Commanderview controller将执行其执行的任务,

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46699936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档