IOS 委托实现方法
2015-08-20 12:07
337 查看
IOS 委托实现方法
先定义一个协议@protocol protocolName; -(void)funcName; @end
声明一个遵守这个协议的类别
@interface ClassA:SuperClass<protocolName>
实现这个类别(因为这个类别实现了上方的协议,以后有需要就可以委托这个类)
@implemetation ClassA:SuperClass -(void)funcName{ NSLog(@"实现"); }
声明委托类
注意:
*委托类自己不实现协议而是让它所委托的类来实现协议
*委托类不存在关键字,委托类只是普通的类
@interface DelegateClass:SuperClass { } @property (retain) id<protocolName> object; -(void)delegatefunc;//这个方法可以隐藏被委托的对象方法 @end
实现委托类
@implemetation DelegateClass:SuperClass { } -(void)delegatefunc{ [_object.funcName]; } @end
初始化类对象
*由于oc中所有对象都是指针,所以使用对象时均要进行初始化来分配内存
ClassA *a = [[ClassA alloc]init]; DelegateClass *b = [[DelegateClass alloc]init];
最终实现协议中的函数
b.object = a; //把协议函数交给a去做 [b delegatefunc]; //a做完后b拿到成果
如果不写delefunc函数的话 也可以实现
但是就无法隐藏真实函数名啦~
b.object = a; //把协议函数交给a去做 [b.object funcName];
欢迎指正
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- .net平台推送ios消息的实现方法
- 探讨Android与iOS,我们将何去何从?
- Android、iOS和Windows Phone中的推送技术详解
- IOS 改变键盘颜色代码
- Android和IOS的浏览器中检测是否安装某个客户端的方法
- javascript实现阻止iOS APP中的链接打开Safari浏览器
- IOS开发第三方语音-微信语音
- iOS开发之路--微博OAuth授权_取得用户授权的accessToken
- ios通过按钮点击异步加载图片
- 加载带有手势识别器的XIB文件需注意哪些问题
- 仅需几行代码实现方便易用的状态栏指示器