ios-给分类中的属性写get方法和set方法
2017-08-12 15:26
253 查看
这里主要是记录下runtime可以做的事情
1 可以在运行期间给某个对象去增加属性
2 可以在运行期间获取某个对象的所有属性的名称,一般在写第三方框架的时候会用到
3 交换方法,在发送网络请求的时候希望出现上面旋转的花会用到,网络请求结束的时候也会用到。
上代码,头文件为#import <objc/runtime.h>
1 可以在运行期间给某个对象去增加属性
2 可以在运行期间获取某个对象的所有属性的名称,一般在写第三方框架的时候会用到
3 交换方法,在发送网络请求的时候希望出现上面旋转的花会用到,网络请求结束的时候也会用到。
上代码,头文件为#import <objc/runtime.h>
//在分类中如果增加了属性,必须要写属性的getter方法和setter方法 -(NSString *)currentURLString { //第一个参数是给哪个对象去设置,第二个参数是属性的名称 return objc_getAssociatedObject(self, @"currentURLString"); } -(void)setCurrentURLString:(NSString *)currentURLString { //在运行期间给某个对象去增加属性 //第一个参数是给哪个对象去设置,第二个参数是属性的名称是C语言类型,第三个参数是属性的值,第四个参数是属性的修饰符 objc_setAssociatedObject(self,"currentURLString", currentURLString, OBJC_ASSOCIATION_COPY_NONATOMIC); }
相关文章推荐
- ios基础之属性set get方法同时重写报错的问题
- Objective-C,ios,属性声明(property declarations), 自定义属性,自动生成 get 和 set 方法,getter 和 setter
- iOS 属性 set方法和get方法
- java 对类中的属性使用set/get方法的作用
- 属性 set ,get 方法
- pytho 学习整理----pytho 类 属性set和get 方法
- 如何在C#中使用get及set方法定义属性
- Python语言学习讲解十四:python之用纯属性取代get和set方法
- 属性生成器、set get 方法
- PHP使用方法重载实现动态创建属性的get和set方法
- 关于JPA封装数据库数据到实体不调用属性的get和set的方法解决办法
- Java中属性私有,使用get/set方法的目的
- iOS 中 set,get方法
- PHP使用方法重载实现动态创建属性的get和set方法
- PHP __get()和__set()的使用方法(存取或者调用未定义的属性变量)
- php __set() __get() 方法访问属性
- php面向对象基础概念(属性重载的魔术方法)__get(),__set(),__isset(),__unset()
- 【Unity&人物属性】人物属性大量设置用set,get方法还是public成员
- ios基础知识——get,set方法
- iOS在分类中声明属性的方法(不提倡使用)以及关联对象介绍