美文网首页
OC @property

OC @property

作者: GTMYang | 来源:发表于2018-05-22 10:52 被阅读0次

@property(属性)

属性是对成员变量setter和getter的封装。

特性关键字

1. 原子性

atomic 存取方法是原子性的
nonatomic 存取方法是非原子性的

2. 读写权限

readwrite 可读可写(生成setter和getter)
readonly 只读(只生成setter方法)

3. 内存管理

assign:基本数据类型的赋值操作(不使用引用计数,如果用来修饰NSObject属性,会产生野指针。)
strong:对象强引用,setter方法有内存计数的代码
retain: 同 strong
weak:对象弱引用,对象销毁时会将实例变量的值致为nil
unsafe_retain:弱引用,对象销毁时不清空实例变量的值
copy:设置新值时拷贝

4. 指定方法名

getter=<name>
setter=<name>

@dynamic和@synthesize

首先@表示当前使用的OC代码。
@property有两个对应的词,一个是@synthesize,一个是@dynamic。
@dynamic告诉编译器,不要自动创建实现属性所用的实例变量,也不要为其创建存取方法。
@synthesize用来指定实例变量的名字。

如果@synthesize和@dynamic都没写,那么默认的就是@synthesize var = _var;

Category分类

可以给类添加方法,重写类的方法。可以写在任意文件中。

Extention类扩展

匿名分类,可给类添加属性和方法。

相关文章

  • OC @property

    @property(属性) 属性是对成员变量setter和getter的封装。 特性关键字 1. 原子性 atom...

  • OC - property

    @property变量 1.@property定义的变量,默认的修饰符是什么? 关于ARC下,不显示指定属性关键字...

  • OC -- @property

    建立一个Person类 @interface --> @end ==> .h中类的声明@implementatio...

  • OC Property

    1、四种写法的区别: PS:注意以下两点: 1>修饰属性问题,小心闪退: 上面的代码会闪退的。相当于以下代码。 正...

  • 52个有效方法(6) - 理解“属性”这一概念

    “属性”(property)是OC的一项特性,用于封装对象中的数据。 @property @Property是声明...

  • @property参数

    ARC 1>OC对象类型 @property(nonatomic,strong)类名 *属性名 @property...

  • iOS属性

    什么是属性 属性是OC语言中的一个机制,我们在OC中用@property来声明一个属性,其实@property是一...

  • iOS基础之Objective-C(一)

    OC面向对象新增语法:1、属性生成器: @property //声明属性例:@property (nonatomi...

  • OC - @property定义

    对于OC中的Model,需要定义多个@property参数,其格式如下: @property (strong, n...

  • iOS属性

    OC属性 在OC中用@property来声明一个属性,其实@property是一个语法糖,编译器会自动为实力变量生...

网友评论

      本文标题:OC @property

      本文链接:https://www.haomeiwen.com/subject/uvnarftx.html