Mik*_*keN 70 iphone delegates objective-c uiapplicationdelegate ios
Objective C的iPhone开发中的"委托"是什么?
Tyl*_*ler 79
委托是指向对象的指针,该对象具有委托持有者知道如何调用的一组方法.换句话说,它是一种从后来创建的对象启用特定回调的机制.
一个很好的例子是UIAlertView
.您创建一个UIAlertView
对象以向用户显示一个短消息框,可能会让他们选择"OK"和"Cancel"两个按钮.该UIAlertView
需求的方式给你打电话回来,但它没有信息,其中反对的回调和调用什么方法.
要解决此问题,您可以将self
指针发送UIAlertView
为委托对象,作为交换,您同意(通过UIAlertViewDelegate
在对象的头文件中声明)实现一些UIAlertView
可以调用的方法,例如alertView:clickedButtonAtIndex:
.
查看这篇文章,了解委托设计模式和其他回调技术的快速高级介绍.
参考文献:
Jor*_*dan 56
见这个讨论
委托允许一个对象在事件发生时将消息发送到另一个对象.例如,如果您使用NSURLConnection类异步下载网站中的数据.NSURLConnection有三个常见的委托:
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
Run Code Online (Sandbox Code Playgroud)
当NSURLConnection分别遇到故障,成功完成或从网站收到响应时,将调用这些代理中的一个或多个.
Mik*_*keN 21
代表是一种设计模式; 没有特殊的语法或语言支持.
委托只是另一个对象在发生某些事情时发送消息的对象,因此委托可以处理原始对象不是为其设计的特定于应用程序的详细信息.这是一种在没有子类化的情况下自定义行为的方法.
归档时间: |
|
查看次数: |
88459 次 |
最近记录: |