当前位置: 首页 > news >正文

assign, retain, weak, strong, copy,unsafe_unretain

为什么80%的码农都做不了架构师?>>>   hot3.png

readonly, readwrite:是控制属性的访问权限,readonly只生成getter方法,其他类是无法修改其值的。readwrite是会同时生成getter和setter方法,其他类可以修改其值。

assign, retain, weak, strong, copy,unsafe_unretained:
在non-ARC中,assign和retain是一组,assign的对象属性引用计数不变,而retain会被+1。
对应的在ARC中,weak和strong是一组,weak的对象属性引用计数不变,而strong会被+1。

assign还用来赋值非对象属性,例如,int,double,BOOL,char等。
copy用来设置不可变的对象属性,例如,NSString,NSArray,NSDictionary等。

在ARC中,一个属性被设置为weak,当出了作用域,其值会被设置成nil。与其相对应的是unsafe_unretained,unsafe_unretained不会改变对象属性的引用计数,同时出了作用域的时候,其值也不会被设置成nil。unsafe_unretained相当于non-ARC中的assign。

atomic,nonatomic:atomic是原子操作,nonatomic是非原子操作,一般常用的是nonatomic。

转载于:https://my.oschina.net/jilin/blog/402663

相关文章:

  • java 反射
  • MSF溢出实战教程
  • 虚拟机的使用和Linux的一些基础
  • 了解IP子网划分的那些事
  • 海量数据备份归档技术及系统
  • 开源跳板机(堡垒机)Jumpserver v0.2.0 部署篇
  • ​ubuntu下安装kvm虚拟机
  • 软件工程结队项目——智能点餐系统典型用户及用户场景分析
  • dotTrace 6.1帮你理解SQL查询如何影响应用性能
  • 开始python学习了
  • 用php获取本周,上周,本月,上月,本季度日期的代码,方法得到各种日期。
  • 课堂练习-找水桶(4.24)
  • gitolite 向 gitlab 迁移
  • 推荐搜索引擎及搜索技巧
  • AWK 学习笔记
  • 【React系列】如何构建React应用程序
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • 【剑指offer】让抽象问题具体化
  • Babel配置的不完全指南
  • centos安装java运行环境jdk+tomcat
  • css选择器
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • ES6语法详解(一)
  • gulp 教程
  • JavaScript HTML DOM
  • JavaScript 奇技淫巧
  • SQLServer之索引简介
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 你真的知道 == 和 equals 的区别吗?
  • 入门级的git使用指北
  • 跳前端坑前,先看看这个!!
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • (2)(2.10) LTM telemetry
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (附源码)计算机毕业设计大学生兼职系统
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (转)LINQ之路
  • (转)mysql使用Navicat 导出和导入数据库
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • .apk 成为历史!
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • .net2005怎么读string形的xml,不是xml文件。
  • .net连接MySQL的方法
  • .NET微信公众号开发-2.0创建自定义菜单
  • @Autowired自动装配
  • [2021ICPC济南 L] Strange Series (Bell 数 多项式exp)
  • [echarts] y轴不显示0
  • [ERROR] 不再支持目标选项 5。请使用 7 或更高版本
  • [HNOI2010]BUS 公交线路
  • [LeetCode]—Copy List with Random Pointer 深度复制带“任意指针”的链表
  • [Linux] 用LNMP网站框架搭建论坛