根据Apple文档:
委托是一个简单而强大的模式,其中一个对象在一个 程序代表另一个对象或与另一个对象协调。 委托对象保持对另一个对象的引用 - 委托 - 并在适当的时间向其发送消息。
请澄清。对于ignore:Password
,UIAlertView
是委托对象吗?
答案 0 :(得分:0)
对于UIAlertView
,是的,UIAlertView
是委托对象,其delegate
属性指向的是其委托。
对于Apple内置框架中的所有内容,委派对象通常都有一个名为delegate
的属性。委托对象是具有此属性的对象(它保存对其委托的引用)。委托是delegate
属性指向的对象。
除此之外,Apple的一些课程,例如UITableView
(还有很多其他课程),还会有datasource
属性。 UITableView
与其数据源保持与其委托相同的关系。
从技术上讲,在这两种情况下,UITableView
都是委托对象,delegate
和datasource
(可以指向不同的对象)都指向"代表"对象。
实际上,我们永远不会将UITableView
的{{1}}对象称为其代理" - 我们将其称为数据源。这可以防止在哪个对象是数据源和哪个对象是委托之间产生混淆。
另外,请记住,仅仅因为某事物是委托对象并不意味着它也不能成为其他代理人。