ios 自定义delegate(一)
2024-08-30 18:49:56
在自定义协议的头文件 .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
{
}
最新文章
- electron 入门小白贴
- sql server 替换特殊符号
- POJ2763 Housewife Wind(DFS序)
- 小课堂week13 Clean Code Part2
- Windows命令行下pip安装python whl包
- PASCAL的优越性:官方的说法(不需要Makefile,节约大量的时间)
- js数组操作-找出一组按不同顺序排列的字符串的数组元素
- .NET和JAVA 反射对比
- 在Visual Studio 2017中发现的问题
- zlib 压缩输出缓冲区 overflow 问题
- Spring Boot自动配置与Spring 条件化配置
- DataGridView 绑定数据问题及修改值交换列
- c++命名空间---namespace
- linux 搭建ftp服务
- ROC与AUC原理
- maven项目报错--Cannot change version of project facet Dynamic Web Module to 3.0 Error in Eclipse
- codeforces 560 C Gerald&;#39;s Hexagon
- BZOJ1996 HNOI2010合唱队(区间dp)
- 从客户端中检测到有潜在危险的 Request.Form 值的问题的解决方法。
- HTML-利用CSS和JavaScript制作一个切换图片的网页
热门文章
- 任务25:IHostEnvironment和 IApplicationLifetime介绍
- CodeForces 712C Memory and De-Evolution (贪心+暴力)
- 51nod 1133【贪心】
- 基于FBX SDK的FBX模型解析与加载 -(二)
- LuoguP2822 组合数问题(组合数,二维前缀和)
- IT兄弟连 JavaWeb教程 ServletContext对象
- 分层图初探 By cellur925
- 二分查找 BestCoder Round #36 ($) Gunner
- 【前端】模拟微信上传图片(带预览,支持预览gif)
- Java基础学习-一切皆为对象