协议,是通过网络,计算机使用者进行通讯后,互相进行约定规定的集合。两个类进行通
讯,用协议就比较方便。下面是 CocoaChina 版主“angellixf”为新手写的协议入门介绍
以及代码例子,希望对刚入门开发者有所帮助
一、说明
1.协议声明了可以被任何类实现的方法
2.协议不是类,它是定义了一个其他对象可以实现的接口
3.如果在某个类中实现了协议中的某个方法,也就是这个类实现了那个协议。
4.协议经常用来实现委托对象。一个委托对象是一种用来协同或者代表其他对象的特殊对
象。
5:委托,就是调用自己定义方法,别的类来实现。
6.新特性说明
@optional 预编译指令:表示可以选择实现的方法
@required 预编译指令:表示必须强制实现的方法
二、定义
.h
@protocolContactCtrlDelegate
-(void)DismissContactsCtrl;
@end
@interface ContactsCtrl : UIViewController {
id<ContactCtrlDelegate>delegate;
}
@property (nonatomic,assign) id <ContactCtrlDelegate>delegate;
.m
@synthesizedelegate;
三、例子
例如:UITextView
@protocol UITextViewDelegate<NSObject>
@optional
-(BOOL)textViewShouldBeginEditing:(UITextView*)textView;
-(BOOL)textViewShouldEndEditing:(UITextView*)textView;
-(void)textViewDidBeginEditing:(UITextView*)textView;
-(void)textViewDidEndEditing:(UITextView*)textView;
讯,用协议就比较方便。下面是 CocoaChina 版主“angellixf”为新手写的协议入门介绍
以及代码例子,希望对刚入门开发者有所帮助
一、说明
1.协议声明了可以被任何类实现的方法
2.协议不是类,它是定义了一个其他对象可以实现的接口
3.如果在某个类中实现了协议中的某个方法,也就是这个类实现了那个协议。
4.协议经常用来实现委托对象。一个委托对象是一种用来协同或者代表其他对象的特殊对
象。
5:委托,就是调用自己定义方法,别的类来实现。
6.新特性说明
@optional 预编译指令:表示可以选择实现的方法
@required 预编译指令:表示必须强制实现的方法
二、定义
.h
@protocolContactCtrlDelegate
-(void)DismissContactsCtrl;
@end
@interface ContactsCtrl : UIViewController {
id<ContactCtrlDelegate>delegate;
}
@property (nonatomic,assign) id <ContactCtrlDelegate>delegate;
.m
@synthesizedelegate;
三、例子
例如:UITextView
@protocol UITextViewDelegate<NSObject>
@optional
-(BOOL)textViewShouldBeginEditi
-(BOOL)textViewShouldEndEditing
-(void)textViewDidBeginEditing:(UITextView*)textView;
-(void)textViewDidEndEditing:(UITextView*)textView;