iOS给分类添加属性时使用 @selector()原理详解
来源:互联网 发布:女性健身 知乎 编辑:程序博客网 时间:2024/05/21 06:59
SEL 可以理解为C语言里的函数指针。
SEL和id以及Class等都是OC里的数据类型,和int、float的地位一样。SEL变量可以存储selector数据。可以通过@selector来获取某方法的selector。
SEL afun = @selector(someMethodName:::::);
SEL和id以及Class等都是OC里的数据类型,和int、float的地位一样。SEL变量可以存储selector数据。可以通过@selector来获取某方法的selector。
SEL afun = @selector(someMethodName:::::);
实例对象可以通过performSeletor方法来调用SEL方法。
由于在
在setStr:
方法中使用了一个objc_setAssociatedObject
的方法,这个方法有四个参数,分别是:源对象,关联时的用来标记是哪一个属性的key(因为你可能要添加很多属性),关联的对象和一个关联策略。
用来标记是哪一个属性的key常见有三种写法,但代码效果是一样的,如下:
//利用静态变量地址唯一不变的特性1、static void *strKey = &strKey;2、static NSString *strKey = @"strKey"; 3、static char strKey;
因此使用@selector(属性名) 相当于生成了一个函数指针 这个函数指针用属性名生成,这样就能保证 set 和 get 方法能对应一个唯一的key了!
0 0
- iOS给分类添加属性时使用 @selector()原理详解
- iOS-利用运行时给分类添加属性
- iOS利用运行时给分类添加属性
- iOS runtime机制实现给分类添加属性
- iOS为分类添加属性
- iOS 为分类添加属性
- 如何利用运行时给系统分类添加一个属性?
- OC运行时语言--如何给一个分类添加属性
- IOS 给类目添加属性
- iOS给已有类添加属性
- iOS 给类别添加属性
- 给分类(Category)添加属性
- OC对象给分类添加属性
- 给分类(Category)添加属性
- 给分类(Category)添加属性
- 给分类(Category)添加属性
- 给分类(Category)添加自定义属性
- 给分类(Category)添加属性
- Java sun.misc.Unsafe
- Problem D: C语言习题 矩阵元素变换
- 正则表达式 - 语法
- WKWebView与h5的交互
- ORA-38104: 无法更新 ON 子句中引用的列: "A"."MAINID"
- iOS给分类添加属性时使用 @selector()原理详解
- 算法之二叉树各种遍历
- idea new project from github
- Android Studio或Eclipse的DDMS看不到data文件解决办法
- qt对话框
- Problem E: C语言习题 矩形法求定积分
- SQLserver提供的统计信息流已损坏
- UVA11478 二分
- 【知识积累】Entity Framework学习:POCO延迟加载