IOS 自定义协议
2013-04-16 09:25
197 查看
在自定义协议的头文件 .h中
@protocol NSDelegate <NSObject>
@optional //可选
- (void)OnOption:(NSString *)pStr;
@required //必须
- (void)OnRequired:(NSString *)pStr;
@end
@interface NSClass :NSObject
id<BSDelegate> delegate;
@end
@property(assian) id<BSDelegate> delegate;
在自定义协议的实现文件.m中
@synthesize delegate;
在制定协议实现文件中调用协议
如果委托方法是可实现的,可以在调用委托方法的用respondsToSelector来判断是否已经实现了委托方法。
例如:
[delegate respondsToSelector@selector(OnOption:)]
然后调用。
如果是必须实现的则直接调用:
[delegate OnRequired:@"test"]
其它类中声明和使用协议
@interface UIMyView : UIViewController<BSDelegate>
NSClass *m_pClass;
@end
UIMyView 的.m文件中制定委托并实现相关委托方法
m_pClass.delegate = self;
再实现委托方法:
- (void)OnOption:(NSString *)pStr
{
}
- (void)OnRequire:(NSString *)pStr
{
}
@protocol NSDelegate <NSObject>
@optional //可选
- (void)OnOption:(NSString *)pStr;
@required //必须
- (void)OnRequired:(NSString *)pStr;
@end
@interface NSClass :NSObject
id<BSDelegate> delegate;
@end
@property(assian) id<BSDelegate> delegate;
在自定义协议的实现文件.m中
@synthesize delegate;
在制定协议实现文件中调用协议
如果委托方法是可实现的,可以在调用委托方法的用respondsToSelector来判断是否已经实现了委托方法。
例如:
[delegate respondsToSelector@selector(OnOption:)]
然后调用。
如果是必须实现的则直接调用:
[delegate OnRequired:@"test"]
其它类中声明和使用协议
@interface UIMyView : UIViewController<BSDelegate>
NSClass *m_pClass;
@end
UIMyView 的.m文件中制定委托并实现相关委托方法
m_pClass.delegate = self;
再实现委托方法:
- (void)OnOption:(NSString *)pStr
{
}
- (void)OnRequire:(NSString *)pStr
{
}
相关文章推荐
- IOS自定义UI组件的外观——使用UIAppearance协议自定义视图
- iOS 自定义协议代理方法的易漏
- IOS自定义UI组件的外观——使用UIAppearance协议自定义视图()
- >02 (协议代理)、自定义视图、程序执行顺序(iOS程序启动流程 )、视图控制器、(MVC的理解)
- IOS自定义UI组件的外观——使用UIAppearance协议自定义视图
- IOS自定义UI组件的外观——使用UIAppearance协议自定义视图
- iOS 之自定义UI组件的外观——使用UIAppearance协议自定义视图(初识)
- iOS 自定义协议
- [置顶] 基于iOS的网络音视频实时传输系统(四)- 自定义socket协议(TCP、UDP)
- 源码推荐(7.09):iOS简单即时通讯 自定义协议实现 了解传输基本原理,仿陌陌的可滑动Segment
- IOS自定义UI组件的外观——使用UIAppearance协议自定义视图
- ios 自定义协议继承NSURLProtocol设置请求头
- (转)【iOS-cocos2d-X 游戏开发之十】自定义CCSprite/Layer/CCNode及静态类模版&自定义类细节说明&Cocos2dx触屏事件讲解
- iOS中关于自定义模型的存储
- IOS应用开发03——自定义Cell的AccessoryButton及事件源被点击的cell行
- iOS 自定义通知声音
- ios应用程序通过itms-services协议在本地服务器发布
- IOS之自定义Cell
- iOS协议Protocol
- IOS电子书、启动页集成、瀑布流封装、地图应用、自定义tabBar等源码