通常情况下,发布委托的是框架对象,委托是定制的控制器对象 。发布委托对象持有委托的弱引用。Foundation、UIKit、AppKit以及其他的Cocoa及Cocoa touch框架有很多地方使用委托。
在AppKit 框架中,NSWindow@H_403_28@类的实例是一个发布委托的对象。
NSWindow@H_403_28@声明一个协议,
windowshouldClose:@H_403_28@是协议的一个方法。当用户点击某个窗口关闭框时,窗口对象向委托发送
windowshouldClose:@H_403_28@消息,要求它确认窗口是否关闭。委托则返回一个Boolean类型值,通过该值控制窗口对象的行为。
@H_403_38@
委托和通知 大部分Cocoa框架类的委托都自动注册为发布委托对象所发通知的观察者 。委托只需实现框架类声明的某个通知方法,以此接收特定的通知。仍以上述例子进行说明,窗口对象向观察者发送NSWindowWillCloseNotification@H_403_28@消息,但是向委托发送
windowshouldClose:@H_403_28@消息。
数据源几乎等同于委托,不同之处在于它同发布委托对象的关系。发布委托对象并不把对于用户界面的控制转交给它,而是把数据控制交给它。发布委托对象,通常是诸如表视图这样的视图对象。它持有数据源引用,并时不时向其索要待显示数据。数据源和委托一样,也必须遵循某种协议并至少实现协议所要求的方法。数据源负责管理模型对象的内存,并将其提供给发布委托的视图。
转自http://www.apple.com.cn/developer/iphone/library/documentation/General/Conceptual/DevPedia-CocoaCore/Delegation.HTML
总结以上是内存溢出为你收集整理的delegation 委托全部内容,希望文章能够帮你解决delegation 委托所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)