ios @property属性

原创 2013年12月06日 12:01:40

assign: 简单的赋值  不会更改索引计数(Reference counting),这个属性一般用来处理基础类型(NSInteger,CGFloat和C语言的 int double floatchar  ...),如果你声明的属性是基础类型的话,assign是默认的,你可以不加这个属性.

retain: 释放旧的对象将旧对象的值赋予输入对象并将输入对象的索引计数+1 ,主要应用与NSObject与其子类中.

copy: 创建一个索引计数为1的对象释放掉原来的对象 

readonly:  表示只读属性  只会生成getter方法不会生成setter方法.

readwrite:设置可供访问的级别,可读写,对比readonly。

nonatimic:非原子访问,不加同步,多线程并发访问提高性能(对多线程的保护,防止在未写完,被另一个线程读取,造成数据错)。

iOS 5 中对属性的设置新增了strong 和weak关键字来修饰属性

strong 用来修饰强引用的属性;

@property (strong) SomeClass * aObject; 
对应原来的 
@property (retain) SomeClass * aObject; 和 @property (copy) SomeClass * aObject; 

weak 用来修饰弱引用的属性;
@property (weak) SomeClass * aObject; 
对应原来的 
@property (assign) SomeClass * aObject

__weak, __strong 用来修饰变量,此外还有 __unsafe_unretained, __autoreleasing 都是用来修饰变量的。
__strong 是缺省的关键词。
__weak 声明了一个可以自动 nil 化的弱引用。
__unsafe_unretained 声明一个弱应用,但是不会自动nil化,也就是说,如果所指向的内存区域被释放了,这个指针就是一个野指针了。
__autoreleasing 用来修饰一个函数的参数,这个参数会在函数返回的时候被自动释放。

相关文章推荐

iOS开发中由属性(property)引发的坑

iOS开发中由属性(property)引发的坑 copy修饰的NSMutableArray属性(property)初始化问题 @synthesize @dynamic 正确使用...

iOS开发中@property的属性weak nonatomic strong readonly

@property与@synthesize是成对出现的,可以自动生成某个类成员变量的存取方法。在Xcode4.5以及以后的版本,@synthesize可以省略。 1.atomic与nonat...
  • re_xue
  • re_xue
  • 2015年11月16日 20:45
  • 186

iOS开发中@property的属性weak nonatomic strong readonly等介绍

原文地址: http://www.lvtao.net/ios/504.html

ios开发中@property的属性介绍

这个是基础知识,虽然基础,但是比较重要。我接触到的同事在开发中遇到一些问题,不太明白问题是由什么原因引起的,其实好多问题就是因为对这块知识没有好好理解。这块涉及内存释放,一定要理解。 大家都知道@p...

iOS property属性

原子性 atomicnonatomic 访问权限 readWritereadOnly 内存管理 strongretaincopyassignweakunsafe_unretain...

iOS学习重要知识点整理01-Objective-C中@property的所有属性详解

strong和weak 自从有了ARC,就可以使用weak或strong来说明属性是弱引用还是强引用; assign,retain和copy 没有ARC之前,都是使用assign,retain,...

(ios开发中的@property)属性赋值,深浅拷贝

个人对于深浅拷贝的认识,以及对于字符串NSString属性用copy修饰的一些理解.

iOS开发之OC篇(11)—— Class(类)、@property属性

如何创建自己的类。 点语法 @property属性 属性修饰符

iOS中@property的属性相关

attribute有如下几种取值,各个attribute的含义涉及到Objective-C中内存管理的相关知识; attribute主要分为三类: 读写属性:(readwrite/readonl...
  • Ben_st
  • Ben_st
  • 2016年04月09日 20:31
  • 199

IOS变量的property属性设置和意义总结

最近有机会对IOS的property属性进行了一个全面的了解和总结: IOS 的@property和@synthesize帮我们轻易的生成对象的getter和setter方法来完成对对象的赋值和访问...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ios @property属性
举报原因:
原因补充:

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