码迷,mamicode.com
首页 > 其他好文 > 详细

黑马程序员-OC内存管理 @property的增强

时间:2014-05-11 17:59:45      阅读:306      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   c   color   

  涉及到内存管理,只读,多线程等很多功能时,setter和getter方法也就没那么简单了;当然@property依然强大,很好用;

  1:内存管理相关参数:

    *:retain:  (如果是oc对象类型),生成的setter会自动release旧值,retain新值;

    *:assign:(适用于非oc对象)  这个是默认的值

    *:copy:release旧值,copy新值;

@property (retain) NSString *name;

// 同类型的参数不能同时写
// @property (retain, assign) NSString *name; // 错误写法
// 但是不同类型的可以写一起
@property (retain, readonly) NSString *name;

 

  2:是否生成setter

    *:readwrite :同时生成getter和setter  这是默认情况;

    *:readonly:只读,只生成getter;

  3:多线程管理

    *:nonatomic:一般用这个,不加锁的;

    *:atomic:(默认)性能低,加锁的;

  4:制定setter和getter的方法名:

  格式:如果要给setter方法制定方法名一定要加“:”(冒号)   @property (setter = abc :) int age;

  getter方法就不用了;也可以同时制定;

  一般开发中getter方法有时返回的时bool型,一般方法名会制定,以is开头;比如:isRich;

黑马程序员-OC内存管理 @property的增强,布布扣,bubuko.com

黑马程序员-OC内存管理 @property的增强

标签:style   blog   class   code   c   color   

原文地址:http://www.cnblogs.com/cxbblog/p/3721865.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!