[Objective-C A]-知识点锦集

1.@autoreleasepool  why1

2.retain

        O-C内存管理和点语法
    1>OC内存管理正常情况要使用大量的retain和relrese操作
    2>点语法可以减少使用retain和release的操作 

3.Runloop

4.@property(retain)编译器如何申明
  编译器对于@property中的retain展开是不一样的
  主要是要释放上一次的值,增加本次计数器
  在dog.h中声明的:
  @property(retain)Dog *dog;
  展开后为:
  -(void) setDog:(Dog *)aDog;
  -(Dog *)dog;

5.@synthesize编译器如何实现展开
  在dog.m中实现:
  @synthesize dog=_dog;
  展开后为:
  -(void) setDog:(Dog *)aDog{
    if(_dog!=aDog){
    [_dog release];
    _dog=[aDog retain];
    }
}
  -(Dog *)dog{
    return _dog;
  }

6.dealloc需要注意内容
  dealloc必须要释放dog(retain)
  在dog.m中
  -(void) dealloc
  {
    self.dog=nil;
    [super dealloc];
  }

7.copy属性的主要作用
  copy属性是完全把对象重新拷贝了一份,计数器从新设置为1,和之前拷贝的数据完全脱离关系。
  @property(copy) NSString* str;
  //表示属性的getter函数
  -(double) str
  {
    return str;
  }
  //表示属性的setter函数
  -(void) setStr:(NSString *)newStr
  {
    str=[newStr copy];
  }

8.assign,retain,copy
  1、foo=value;//简单的引用赋值
  2、foo=[value retain];//引用赋值,并且增加value的计数器
  3、foo=[value copy];//将value复制了一份给foo,复制后,foo和value就毫无关系
9.Foundation框架(学习Objective-C必备知识)
10.IOS开发中需要注意的一些问题
11.Xcode6-beta3版本新建项目中没有foundation
 
posted on 2015-11-28 12:21  洛易  阅读(165)  评论(0编辑  收藏  举报