IOS 入门笔记

来源:互联网 发布:游族网络怎么样? 编辑:程序博客网 时间:2024/06/06 09:17

内容不管更新!


内存管理:


内存管理代码规范:
1.只要调用了alloc,必须有release(autorelease)
2.set方法的代码规范
  1>当set方法的参数基础数据类型:直接赋值:如 _age = age;
  2>当set方法的参数是对象时:
1>先判断是不是新传进来的对象
if(car != _car)
{
   //2>对旧对象做一次release
   [_car release];


   //3>对新对象做一次retain
   _car = [car retain];
}


3.dealloc方法的代码规范
1>一定要调用[super dealloc]; 并且该方法的调用要放在最后面
2>对当前对象(self)所拥有的其他对象做一次release
eg:
- (void)dealloc
{
   [_car release];
   [super dealloc];
}




-set方法内存管理 @property
@property (参数) Person *person
分类:
1.set方法内存管理相关的参数
    retain:release旧值,retain新值
    assign:直接赋值(默认情况下 什么参数都不写时就是这种情况,是用于非OC对象类型)
    copy  :release旧值,copy新值
                
2.是否要生成set方法
    默认情况下是set方法和get方法都生成
    readwrite:同时生成setter和getter的声明、实现(默认)
    readonly:只会生成getter的声明、实现


3.多线程管理
    nonatominc:性能高(通常在写的时候 使用nonatominc)
    atomic    :性能低(默认)


4.setter和getter方法的名称
    getter:写上参数的同时,在参数等号右边 可以给getter方法 自定义 方法名
    setter:同上,但注意! 自定set方法一定要有冒号,如 “setAge:”
ARC机制:
0 0