在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
objC开发中有四个基础的设计模式,分别是:Delegate,MVC,Target-controll和managed memory model。
MVC估计大家都比较熟悉,就不多说了。Delegate是MAC平台颇有特色的一个模式,在Cocoa框架中应用很广泛,这里先着重说明一下。
Delegate模式顾名思义,就是两个对象之间的代理关系。形象地说,即某个对象不愿意自己去干一件事,而是委托另外一个对象作为自己的代理,来做这件事,代理对象把结果返回给委托者对象。一个对象可以拥有多个代理。
下面用一个例子进一步说明了这个关系,这个是 Cocoa教程里的例子:
比如有一个NSWindow对象,与其代理对象间实现了一个包含叫做windowShouldClose方法的通信协议。当用户点击窗口角上的关闭按钮时,NSWindow对象向其代理对象发送windowShouldClose消息,询问是否可以关闭窗口?代理对象根据窗口的内容已经保存与否等情况,向窗口对象返回是否应该关闭的布尔值,据此来控制窗口对象的行为。 |
请发表评论