【iOS学习笔记】关于iOS中的属性修饰符初见

原创 2016年08月31日 09:40:48

关于iOS中的属性修饰符初见

在iOS中有许多的属性修饰符,其中比较常见的有strong,weak,nonatomic,assign等。下面讲一下我对这些修饰符的理解,有不对的地方请指正。

在iOS中对属性进行修饰的修饰符有: strong, weak, nonatomic, atomic, copy, unsafe_unretained, readwrite, readonly。

strong,weak : 强引用(strong)和弱引用(weak),当需要持有对象的时候使用强引用,不需要持有对象的时候使用弱引用。strong会对属性进行引用计数+1的操作,而weak不会。weak对象被释放后该指针自动置为nil,向nil发送消息不会崩溃。

assign:主要用于基础数据类型,表示直接赋值。

nonatomic,atomic:表示属性是否是原子性的,即线程安全的,一般情况下使用nonatomic即可,表示非原子性的,因为使用atomic的话会进行一些额外的花销(对属性加锁)。

readwrite,readonly:表示属性是只读的还是可以读写的。

unsafe_unretained:对象被释放后该指针就成为了野指针。非特殊情况不建议使用。

    copy:主要用于字符串,copy属性中源对象的修改不会影响到copy后的对象内容。

版权声明:本文为博主原创文章,未经博主允许不得转载。

ios属性修饰符总结

ios属性修饰符总结 很多刚接触iOS的朋友对属性的@property的可选参数如何使用,什么情况下使用哪种选项不了解,也问了我很多这方面的知识,虽然知道怎么用,但是有些说不出其区别。在这里,再次深入...
  • woaifen3344
  • woaifen3344
  • 2015年12月08日 15:03
  • 5818

iOS开发:属性修饰符及copy与mutablecopy比较

一 属性配置 (一) 属性访问限定符 @public 共有的 @private 私有的,子类也不能使用  @protected 受保护的,子类可以使用 (二) 属性修饰符 1.线程相关 ...
  • indulgeIn
  • indulgeIn
  • 2016年04月10日 13:41
  • 1029

iOS基础之属性修饰符的区别

声明变量的修饰符:__strong, __weak, __unsafe_unretained, __autoreleasing 声明属性的修饰符:strong, weak, unsafe_un...
  • q1194259339
  • q1194259339
  • 2016年07月25日 11:11
  • 411

ios属性修饰符总结

ios属性修饰符总结 [email protected]�何使用,什么情况下使用哪种选项不了解,也问了我很多这方面的知识,虽然知道怎么用,但是有些说不出其区别。在这里,再次深入学习一遍,对cop...
  • zcc1098066554
  • zcc1098066554
  • 2016年03月02日 12:13
  • 677

iOS 各种修饰符的区别汇总

atomic 设置成员变量的@property属性时,默认为atomic,提供多线程安全。 在多线程环境下,原子操作是必要的,否则有可能引起错误的结果。加了atomic,setter函数会变成下面...
  • u011366778
  • u011366778
  • 2015年07月27日 17:39
  • 1455

iOS开发之属性修饰符

iOS开发之属性修饰符
  • xuweibo_csdn
  • xuweibo_csdn
  • 2017年07月25日 17:06
  • 207

IOS开发笔记1-写一个hello world!程序

转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/52294237 本文出自:【顾林海的博客】 序言从今天开始正...
  • GULINHAI12
  • GULINHAI12
  • 2016年11月19日 07:24
  • 449

如何让自己的类用 copy 修饰符?如何重写带 copy 关键字的 setter

出题者简介: 孙源(sunnyxx),目前就职于百度 整理者简介:陈奕龙,目前就职于滴滴出行。 若想令自己所写的对象具有拷贝功能,则需实现 NSCopying 协议。如果自定义的对象分为可变版...
  • SYH523364
  • SYH523364
  • 2016年08月12日 19:28
  • 1371

iOS开发学习笔记(零)

创建firstapp项目,在Xcode上可见到以下的项目结构。项目结构 firstapp AppDelegate.swift ViewController.swift Main.storyboard...
  • foolsheep
  • foolsheep
  • 2016年01月05日 12:23
  • 623

iOS笔记—对象的结构体属性单个修改方式

Objective-C语法规定,对象的结构体属性不能单个修改。如果是单独定义的结构体属性则可以单个修改。如象的结构体属性: self.view.frame.size.width = 10;// 编译器...
  • csdn_hhg
  • csdn_hhg
  • 2017年04月06日 13:56
  • 447
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【iOS学习笔记】关于iOS中的属性修饰符初见
举报原因:
原因补充:

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