A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hejianchun 中级黑马   /  2015-9-22 10:25  /  887 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一. @property的修饰关键字
1> 控制set方法的内存管理
* retain: release旧值,retain新值(用于OC对象),要配合nonatomic使用 * assign: 直接赋值, 不做任何内存管理(默认, 用于非OC对象类型)
* copy: release旧值, copy新值(一般用于NSString *)

2> 控制是否需要生成set方法
* readwrite: 同时生成set方法和get方法(默认) * readonly: 只会生成get方法

3> 多线程管理
* atomic: 性能低(默认)
* nonatomic: 性能高(为iOS系统开发软件建议使用,为mac开发软件可以使用atomic)

4> 控制set方法和get方法的名称
* setter: 设置set方法的名称, 一定有个冒号: * getter: 设置get方法的名称

二. @class用法
* 为什么要使用@class .h @class Dog

.m #import "Dog.h"
* @class和#import的区别
* 通过@class解决循环依赖问题

三. 内存管理时的循环retain问题
* 解决办法: 一端用retain、一端用assign
** 注意: 使用了assign后, dealloc中就不需要release了


评分

参与人数 2黑马币 +36 收起 理由
taifeng + 16 赞一个!
暮色醉玄阳 + 20

查看全部评分

8 个回复

倒序浏览
现在就知道OC里边有好多@
回复 使用道具 举报
黑白世界 发表于 2015-9-22 10:34
现在就知道OC里边有好多@

OC中德关键字全是带 @ 的..都快给我圈蒙了
回复 使用道具 举报
支持楼主
回复 使用道具 举报
zzx0826 来自手机 中级黑马 2015-9-22 12:54:42
报纸
给力给力!
回复 使用道具 举报

努力吧 我正在 努力 12期额iOS ..
回复 使用道具 举报
mac 中级黑马 2015-9-22 15:55:55
7#
一起加油吧
回复 使用道具 举报
才开始学C我,加油
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马