OC对象给分类添加属性

原创 2015年07月08日 10:13:15

OC对象中不能给分类添加属性,但是在实际开发中,经常为了更好的性能需要给分类添加属性,那么

添加的属性不能有默认的成员变量,需要我们自己实现set和get方法,要用到运行时

如下:

#import <objc/runtime.h>


//运行时的关联对象,动态添加属性

const void *URLStringKey = "URLStringKey";

//set方法

- (void)setUrlStr:(NSString *)urlStr

{

    objc_setAssociatedObject(self, URLStringKey, urlStr, OBJC_ASSOCIATION_COPY_NONATOMIC);

}

//get方法

- (NSString *)urlStr

{

    return objc_getAssociatedObject(self, URLStringKey);

}



OC运行时语言--如何给一个分类添加属性

今天试着给一个分类添加一个属性新建一个Person类后,又建了一个Person类的分类,在分类的.h文件里添加了一个属性name(注意这里Person类是没有这个属性的) 在其他类中使用self调...

Objective-C 给分类添加属性——关联对象

给分类添加“属性”咱们知道,分类中可以添加方法,却无法添加属性。那咱们有其他的方法来实现吗? 先来看看下面这段代码:@interface UIView (nl_Frame) @property (n...

OC总结----类的方法.继承.NSString类的常用方法.NSMutableString 类的方法.数组类.字典类.block语法以及数组排序高级.属性.category (分类,类目).延展,等

1.在加号方法中不能使用实例变量,shi'il
  • RC_cong
  • RC_cong
  • 2014年08月17日 21:19
  • 758

OC 自动生成分类属性方法

分类属性方法自动生成编码全过程。

编写高质量OC代码52建议总结:26.不要在分类中设置属性

除了"class-continuation"分类之外,其他分类都无法向类中新增实例变量。因此,无法合成实现属性所需的实例变量。  例如:专门设计一个处理交友事物的类,其中所有的方法都与操作朋友列表有...

OC 自动生成分类属性方法

分类属性方法自动生成编码全过程。 背景   分类,在 iOS 开发中,是常常需要用到的。在分类里添加属性也是常有的事,但分类中无法添加实例变量,编译器也无法为提供分类中属性的 getter...

黑马程序员_iOS开发之OC之面向对象之id语法、构造方法、@category分类、类本质、description方法和SEL数据类型

1、id语法

Objective-C学习笔记(四):OC之分类、类对象、description方法和SEL

一、Category 分类       1.分类的创建          1>首先按照学习笔记(一)中的方法创建一个新的命令行项目          2>new file新建一个文件         ...

OC 8 属性 内存管理组 对象控制组 重命名组 KVC键值编码

1.属性:帮你自动生成set和get方法 属性的格式: (1)@property  数据类型    属性名   属性的声明:写在(.h)中 属性:属性名就是实例变量声明 @property ...

黑马程序员—OC基础--对象的属性封装

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——— /***********  *   今天对 “对象的属性封装” 进行学习.收获如下:  ...
  • Lyan__
  • Lyan__
  • 2015年05月26日 14:49
  • 152
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OC对象给分类添加属性
举报原因:
原因补充:

(最多只允许输入30个字)