IOS学习第七篇 ——Protocol协议

来源:互联网 发布:mysql源码安装包下载 编辑:程序博客网 时间:2024/06/05 15:23

Protocol协议

1.协议声明了可以被任意类实现的方法

2.协议不是类,它是定义了一个其对象可以实现的一个接口

3.如果其它类实现了协议的某一个方法,就是那个类实现了这个协议

4.协议常常用来实现委托对象

5.委托就是调用自己定义的方法,别的类来实现


实现例子:

从A页面点击按钮进入B页面,在B页面点击返回按钮,获取一个值,将值传回到A页面。

(1)定义一个协议:(随便在那里都可以定义)

@protocol GlassesDelegate <NSObject>

-(void) comeBack:(NSString *)str;

@end;

(2).在第二个页面的.h文件中

@property (nonatomic,retain) id<GlassesDelegate> gDelegate;

(3).第一个页面.m文件

实现GlassesDelegate

实现它的方法:

-(void) comeBack:(NSString *)str{

nslog(@" 返回的是:%@",str);

}

(4).在第一个页面.m文件 点击按钮事件中

SecondViewController *secondVC =[ [SecondViewController alloc] init];

secondVC.gDelegate = self;

[self.navigatIonController pushViewController:secondVC animated:Yes];

(5).在第二个页面.m 文件 点击返回按钮事件中

if ( self.gDelegate && [self.gDelegate respondsToSelectot:@selector(comeBack:)]){

[self.gDelegate comeBack:@"我是返回值"];

}

[self.navigationController popViewControllerAnimated:Yes];

完成!!!!!!!!!!!!!


0 0
原创粉丝点击