IOS 基础知识(属性修饰符篇)

IOS 开发中常用到的修饰符有:assgin,retain,copy,strong,weak,atomic(这里说的是arc下)

1:assgin

简单的赋值 不更改索引计数  一般修饰的是基本的数据类型 如:NSIntger,CGFloat,int,float,double,char 这里要知道 基本的数据类型是分配在栈上的 栈的内存会由系统自己处理

写法:@property (nonatomic,assign) float number;

注:assgin 也可以修饰对象;一般情况下不会使用,是因为被assgin 修饰的对象在释放之后,指针的地址还是存在的,也就是说指针并没有被置为nil,从而引起也指针的问题。对象一般分配在堆上的某块内存,如果在后续的内存分配中,刚好分配到了这块地址,程序就会crash

2:retain

释放旧的对象,将旧对象的值赋予输入对象,同时进行引用计数加1.

3:copy

4:strong

5:weak

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • __block和__weak修饰符的区别其实是挺明显的:1.__block不管是ARC还是MRC模式下都可以使用,...
    LZM轮回阅读 3,600评论 0 6
  • 关于iOS修饰符 首先强调一下: 强引用:当前对象被其他对象引用时,会执行retain操作,引用计数器+1。当re...
    Mayss阅读 1,258评论 0 52
  • 307、setValue:forKey和setObject:forKey的区别是什么? 答:1, setObjec...
    AlanGe阅读 1,725评论 0 1
  • 多线程、特别是NSOperation 和 GCD 的内部原理。运行时机制的原理和运用场景。SDWebImage的原...
    LZM轮回阅读 2,130评论 0 12
  • 我年少时,姥爷、姥姥居住在涡河岸边的一座四合院里。 院子一边是水泥地,供行走。姥姥爱干净,天气好的时候经常会大扫除...
    milk411阅读 898评论 1 3

友情链接更多精彩内容