ios中SEL ( @selector() )简析
来源:互联网 发布:管家婆软件初始密码 编辑:程序博客网 时间:2024/05/18 03:52
在ios中SEL其实就是方法指针,方法指针的灵活性在于 若对象A想要调用对象B的某个方法,但是不知道B具体方法名称
eg:
A中代码如下:
-(void)performFuncWithName:(NSString *)funcName andHandler:(B *)handler{ if ([handler respondsToSelector:NSSelectorFromString(funcName)]) [handler performSelector:NSSelectorFromString(funcName) withObject:nil];}
在 UIButton的方法 [closeBtnaddTarget:selfaction:mSElforControlEvents:UIControlEventTouchUpInside];就是这样实现的灵活调用。
到现在可以发现,当我们使用回调逻辑的时候,既可以使用@selector这种方式,也可以使用block方式,也可以使用代理的方式。具体什么情况下使用何种方式实现回调呢,可以从系统空间里面找到显而易见的一些规律,当这个空间比较简单,回调需求就是一种情况的时候(比如button常见监听回调就是简单的一次点击),@selector 或者block方式均可,系统习惯使用@selector方法;当这个空间比较复杂,调用情况比较多的时候,比如UIScrollView 有开始滚动,滚动中,结束滚动,加速,减速等等,这样用@selector显然不方便,block方法也不够方便,而使用代理,选择自己要回调的方法,灵活使用是更好的选择。
ios中是个动态运行时语言,无处不在的消息通知调用机制(@selector就是最典型的),让其在运行时有了真正的形参和调用方法,有了极高的灵活性。
阅读全文
0 0
- ios中SEL ( @selector() )简析
- iOS SEL(@selector)原理
- iOS基础--SEL 类型 @selector()
- iOS学习篇章3--SEL与@selector
- IOS SEL (@selector) 原理及使用总结
- IOS SEL (@selector)原理及使用总结
- 【iOS开发】SEL和Selector 原理小结
- iOS中SEL和IMP
- IOS SEL (@selector) 原理及使用总结(一)
- IOS SEL (@selector) 原理及使用总结(二)
- IOS SEL (@selector) 原理及使用总结(一)
- IOS SEL (@selector) 原理及使用总结(二)
- IOS SEL (@selector) 原理及使用总结(一)
- IOS SEL (@selector) 原理及使用总结(一)
- IOS SEL (@selector) 原理及使用总结(二)
- IOS SEL (@selector) 原理及使用总结(一)
- IOS SEL (@selector) 原理及使用总结(二)
- IOS SEL (@selector) 原理及使用总结(一)
- 字典学习和稀疏编码
- CLODOP打印
- Bootstrap 表单
- UML之顺序图
- 1006. 换个格式输出整数 (15)
- ios中SEL ( @selector() )简析
- spring源码学习 spring-core(一)ASM包
- vimrc vim简易设置
- Android post请求时参数上传失败
- Java 常用线程池
- 关于按位取反
- 2440移植Linux Kernel笔记(四)------yaffs2打补丁
- Android应用第一次安装成功点击“打开”后Home键切出应用后再点击桌面图标返回导致应用重启问题
- mysql基本命令