Objective-C学习之路 委托用法与讲解

移动开发 iOS
本文介绍的是Objective-C学习之路 委托用法与讲解,主要是对委托的内容做一下了解,我们先来看内容。

Objective-C学习之路 委托用法与讲解,是本文要介绍的内容,当然在学习委托之前,你也许对Objective-C已经很是了解了,那么我们直接看内容。

(1)雇主与委托者共同参与一个处理,说白了就是调用雇主方法的时候在雇主的方法内不但有相应的逻辑处理,还得请求委托者的方法共同处理

(2)请求委托者的方法时要将自己传递过去,也就是说把自己当作一个入参传递过去,当然也可以有不同的实现,只是委托者能获得雇主就可以

  1. #import <Cocoa/Cocoa.h> 
  2. /**  
  3.  *委托的Demo  
  4.  *  
  5.  *@author 肖浩  
  6.  **/  
  7. //委托类,委托类没有任何方法声明,它只需实现非正规协议的中需要的方法  
  8. @interface DemoDelegate : NSObject   
  9. @end //DemoDelegate  
  10.  
  11. //雇主类  
  12. @interface Demo : NSObject {  
  13.  
  14. //委托类
  15. DemoDelegate *demoDelegate;  
  16.  
  17. }  
  18.  
  19. -(void) setDemoDelegate : (DemoDelegate *) delegate;  
  20.  
  21. -(void) sendMessage;  
  22.  
  23. @end //Demo  
  24.  
  25. //NSObject的WSDelegate类别,定义非正规协议  
  26.  
  27. @interface NSObject (WSDelegate)   
  28.  
  29. -(void) setDemoDelegate : (DemoDelegate *) delegate;  
  30. -(void) handlerDelegate : (Demo *) demo;  
  31. @end //WSDelegate  
  32. @implementation Demo   
  33. -(void) setDemoDelegate : (DemoDelegate *) delegate {  
  34. [delegate retain];  
  35. [demoDelegate release];  
  36. demoDelegate = delegate;  
  37. }  
  38. //通知委托类方法执行  
  39. -(void) sendMessage {  
  40. [demoDelegate handlerDelegate : self];  
  41. }  
  42. -(void) dealloc {  
  43. [demoDelegate release];  
  44. [super dealloc];   
  45. }  
  46. @end //Demo  
  47. @implementation DemoDelegate   
  48. //相应的委托方法  
  49. -(void) handlerDelegate : (Demo *) demo {  
  50. NSLog(@"%@", demo);   
  51. }  
  52. @end //DemoDelegate  
  53. int main (int argc, char *argv[]) {  
  54. NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];  
  55. Demo *demo = [[Demo alloc] init];  
  56. DemoDelegate *delegate = [[DemoDelegate alloc] init];  
  57. [demo setDemoDelegate : delegate];  
  58. [demo sendMessage];  
  59. [pool release];  
  60. return (0);  

当然,上面的代码注释没有写的特别详细,因为相信如果你在学习Objective-C委托,那么你一定掌握了Objective-C的基本知识,上面的代码是很简单的,你肯定可以看的懂,这些都是我综合资料之后总结的概念,如果哪里有不对的地方还希望和大家多交流,希望对大家有帮助.

小结:Objective-C学习之路 委托用法与讲解的内容介绍完了希望本文对你有所帮助。

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-07-25 10:03:06

Objective-C 委托

2011-07-25 10:30:41

Objective-C Xcode 重构

2011-07-25 11:02:29

Objective-C Xcode 标签

2011-07-25 10:14:13

Objective-C Xcode

2011-08-03 15:51:48

Objective-C 协议 委托

2011-08-15 14:32:42

Objective-C委托协议

2011-05-11 14:06:49

Objective-C

2011-08-04 14:58:37

Objective-C Cocoa NSString

2013-08-21 14:57:42

objective-c问题

2011-07-07 17:04:33

iPhone Action Objective-

2011-07-18 14:59:20

iPhone Objective-

2011-07-20 13:34:37

Objective-C self.

2011-08-05 14:03:39

Objective-C 对象 模板

2011-08-16 10:23:04

Objective-CNSAutoreleaXcode常用键

2011-08-15 17:06:01

Objective-CNSLog

2011-07-06 14:41:34

Objective-C

2011-08-04 13:38:01

Objective-C C++

2011-08-16 13:43:40

Objective-C文件cocoa

2011-08-10 18:07:29

Objective-C反射

2011-05-11 11:20:26

Objective-C
点赞
收藏

51CTO技术栈公众号