首页 > 其他 > 详细

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

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

  涉及到内存管理,只读,多线程等很多功能时,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的增强

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!