iphone:delegate机制

iphone中常用@protocol和delegate的机制来实现接口的功能

例如想在A的功能要在B中实现,可以在A中定义一个Protocol,按照Cocoa的习惯,一般它以delegate结尾,熟悉C#的同学应该知道它的意义。其实不论是接口,委托,还是回调函数,本质上都做了一件事情。就是定义了一个操作契约,然后由用户自己来实现它的具体内容

 

@protocol AViewControllerDelegate

- (void)func1

- (int)func2:(int)arg  

@end 

 

然后要在A中声明一个delegate:

@property (weak, nonatomic) id<AViewControllerDelegate> delegate1;(也可以声明为其它名字)

 

然后让B遵循Adelegage的协议

@interface BViewController : UIViewController <AViewControllerDelegate>     

在B中实现func1 和func2。

并且要在B中AViewController.delegate1 = self 。

 

之后在A中调用[delegate1 func1]  [delegate1 func2]即可!

 

 

可参考: http://wsqwsq000.iteye.com/blog/1121155

posted on 2012-04-27 21:21  老Zhan  阅读(1261)  评论(0编辑  收藏  举报