您现在的位置是:主页 > news > 怎么做网站 高中信息技术/seo技术分享免费咨询

怎么做网站 高中信息技术/seo技术分享免费咨询

admin2025/6/1 3:55:34news

简介怎么做网站 高中信息技术,seo技术分享免费咨询,国内做app软件开发最好的公司,wordpress随机调用页面strong与weak是由ARC新引入的对象变量属性。weak 和 strong 属性只有在你打开ARC时才会被要求使用。 strong 和retain相近 weak和assign相近,不过weak在释放后多做了赋值为nil操作,这种好处是防止野指针捣乱,其好处,用过的人都知道…

怎么做网站 高中信息技术,seo技术分享免费咨询,国内做app软件开发最好的公司,wordpress随机调用页面strong与weak是由ARC新引入的对象变量属性。weak 和 strong 属性只有在你打开ARC时才会被要求使用。 strong 和retain相近 weak和assign相近,不过weak在释放后多做了赋值为nil操作,这种好处是防止野指针捣乱,其好处,用过的人都知道…

strong与weak是由ARC新引入的对象变量属性。weak 和 strong 属性只有在你打开ARC时才会被要求使用。

@strong 和@retain相近

@weak和@assign相近,不过@weak在释放后多做了赋值为nil操作,这种好处是防止野指针捣乱,其好处,用过的人都知道。

@copy 此属性只对那些实行了NSCopying协议的对象类型有效。如同深拷贝的意思,开辟出新的内存空间,复制内容进内存  中,这样有两份对象,然后各不相干。

@retain 引用计数加1,让指针指向已有的内存地址,这样,retain出来的指针指向的地址和原地址相同,提高了引用计数,实际内存地址中只有一份数据。采用引用计数的方法

简单的一句话,@copy深拷贝 @retain浅拷贝

@assign 简单赋值,不更改索引计数
对基础数据类型 (例如NSInteger,CGFloat)和C数据类型(int, float, double, char, 等) 适用简单数据类型。特别地,在Objective-c中的delegate的属性必须设置为@assign (iOS5用@weak) ,其目的是防止循环引用导致的内存无法释放而产生的内存泄露。

比如,你用malloc分配了一块内存,并且把它的地址赋值给了指针a,后来你希望指针b也共享这块内存,于是你又把a赋值给(assign)了b。此时a和b指向同一块内存。a不再需要这块内存,能否直接释放它。如果是@retain 属性,则通过引用计数的办法管理内存,当引用计数为0 时候释放,而 用@assign则不能直接释放a,因为不知道b是否还在用内存中的东西,极度危险的操作。

@readonly  只读属性。如果你使用@synthesize关键字,也是有读取器方法(get)被解析。而且如果你试图使用点操作符为属性赋值,你将得到一个编译错误。

@readwrite此标记说明属性会被当成读写的,这也是默认属性

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

转载于:https://www.cnblogs.com/zhidao-chen/archive/2013/05/13/3075844.html