IOS學習第七篇 ——Protocol協議

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];

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章