ios委托


委托的主要功能:一个类中可以操作另一个类的方法 



协议和委托的原理

在ios中,委托的主要功能是进行传值和传递事件
1 传值:在一个类中,需要把值传递给另外一个类,并通过这个类对这个值进行展示操作.
2 事件:当在一个类中,执行一个事件时,需要把这个事件告诉给其它类,并触发其它类产生相关的事件

 

ios委托实现举例说明

在ios中,委托是通过一种 协议的方式来实现,协议类似于其它语言中的接口,通过协议我们可以设置类中必须实现某一方法,
协议本身是不实现方法。

一、新建一个协议

@protocol TestDelegate < NSObject > 
@required
- (void)TestFunction1;
@optional
- (void)TestFunction2;
 
@end
 

类声明文件  
 
 
@interface Test1 : NSObject< TestDelegate >
 
@end
 
@interface test2 : NSObject< TestDelegate >
 
@property (assign,nonatomic) id< TestDelegate > didTestDelegate;
 
@end



类实现文件
 
@implementation Test1
 
- (void)TestFunction1{
    NSLog(@"Test中TestFunction1的实现");
}
 
@end
 
@implementation Test2
 
- (void)TestFunction1{
    NSLog(@"Test2中TestFunction1的实现");
}
 
@end
简单的调用:
 
Test1 *t1=[[Test1 alloc]init];
Test2 *t2=[[Test2 alloc]init];
[Test2 TestFunction1];
[Test1 TestFunction1];
 
 Test2.didTestDelegate=Test1;
 
[Test2.didTestDelegate TestFunction1];