ios property declare

本文详细介绍了Objective-C中属性的使用方法,包括不同属性类型的含义(如readwrite、readonly)、语义(如strong、weak、copy等)以及原子性设置等。通过本文,读者可以深入理解如何在Objective-C中正确地定义和使用属性。
摘要由CSDN通过智能技术生成

格式:@property (attribute [, attribute2, ...]) type name;

读写性:

  1. readwrite 可读可写,默认属性
  2. readonly 只读,该属性只生成getter方法而不生成setter方法


语义:

  1. strong 强引用关系,拥有对象
  2. weak 弱引用关系,如果目标对象被销毁,该引用被设为nil
  3. copy 旧对象调用release,新对象调用copy,然后赋值
  4. assign 只是获得了对象,并没有调用retain,也不会调用release,默认属性
  5. retain 就对象调用release,新对象调用retain,然后赋值

设为retain时,访问器set和get都会让对象计数器+1。get方法同时做了autorelease,当拥有者销毁的时候,get执行了m次,m个自动释放池也会销毁,对象的引用计数会m次自动-1,在dealloc中还要释放对象,则让对象与自己完全无关,等于说把控制权交了出去。


原子性:

  1. nonatomic setter方法不是原子性的,可以提升性能。默认是原子性的,但没有提供atomic关键字

转载于:https://www.cnblogs.com/dragonZ/archive/2012/06/10/2544283.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值