我是iPhone的新手.几乎每个示例项目(以及默认项目模板)都有一个或多个委托和控制器.有人可以告诉我代表们负责什么以及控制器应该做什么?
我能想到的最简单的方法是区分两者:
委托是一种协议(接口),它定义对象实现的方法,以便从其他对象接收特定的消息.委托对象通常用于接收异步回调,例如用户输入,I/O.
控制器是一个通常包含UI元素(视图,控件等)和数据的对象,它们都接收消息并将消息发送到其中的各种对象.在许多情况下,控制器是委托,并且可以实现多个委托协议以从多个对象接收事件.
请记住,许多UI元素和控件允许您通过将事件链接到Interface Builder中的IBAction方法将事件传递回控制器.这非常方便,因为它不需要额外的代码来实现委托.但是,某些其他API(如ABPeoplePickerNavigationController或NSURLConnection)在Interface Builder中没有可视化,因此必须使用委托来处理其事件.