IOS protocol 用法

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

1、說明
  1.協議聲明瞭能夠被任何類實現的方法
  2.協議不是類,它是定義了一個其餘對象能夠實現的接口
  3.若是在某個類中實現了協議中的某個方法,也就是這個類實現了那個協議。
  4.協議常常用來實現委託對象。一個委託對象是一種用來協同或者表明其餘對象的特殊對象。
  5:委託,就是調用本身定義方法,別的類來實現。
  6.新特性說明
    @optional預編譯指令:表示能夠選擇實現的方法
    @required預編譯指令:表示必須強制實現的方法

2、定義

.h
@protocol ContactCtrlDelegate
-(void)DismissContactsCtrl;
@end

@interface ContactsCtrl : UIViewController {
    id <ContactCtrlDelegate> delegate;
}
@property (nonatomic, assign) id <ContactCtrlDelegate> delegate;


.m
@synthesize delegate;


3、例子

例如:UITextView
@protocol UITextViewDelegate <NSObject>

@optional

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



- (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;ui

相關文章
相關標籤/搜索