IOS protocol 用法

協議,是經過網絡,計算機使用者進行通信後,互相進行約定規定的集合。兩個類進行通信,用協議就比較方便。下面是 CocoaChina 版主「angellixf」爲新手寫的協議入門介紹以及代碼例子,但願對剛入門開發者有所幫助網絡

1、說明ide

  1.協議聲明瞭能夠被任何類實現的方法ui

  2.協議不是類,它是定義了一個其餘對象能夠實現的接口atom

  3.若是在某個類中實現了協議中的某個方法,也就是這個類實現了那個協議。spa

  4.協議常常用來實現委託對象。一個委託對象是一種用來協同或者表明其餘對象的特殊對象。對象

  5:委託,就是調用本身定義方法,別的類來實現。接口

  6.新特性說明開發

    @optional預編譯指令:表示能夠選擇實現的方法it

    @required預編譯指令:表示必須強制實現的方法io


2、定義


.h

@protocol ContactCtrlDelegate

-(void)DismissContactsCtrl;

@end


@interface ContactsCtrl : UIViewController {

    id delegate;

}

@property (nonatomic, assign) id delegate;



.m

@synthesize delegate;



3、例子


例如:UITextView

@protocol UITextViewDelegate 


@optional


- (BOOL)textViewShouldBeginEditing:(UITextView *)textView;

- (BOOL)textViewShouldEndEditing:(UITextView *)textView;


- (void)textViewDidBeginEditing:(UITextView *)textView;

- (void)textViewDidEndEditing:(UITextView *)textView;


- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text;

- (void)textViewDidChange:(UITextView *)textView;


- (void)textViewDidChangeSelection:(UITextView *)textView;


@end


  若是要調用以上這些方法,就必須設置UITextView的委託:TextView.delegate = self;

相關文章
相關標籤/搜索