zoukankan      html  css  js  c++  java
  • @synthesize 和 @property

    1.@synthesize是objective-c 2.0的新特性,它的作用就是自动为你定义的成员变量生成get和set方法。
    比如你定义了bear属性,
    CCSprite *_bear;
    你需要同时定义
    @property (nonatomic, retain) CCSprite *bear;
    和@synthesize bear = _bear;
    这样,编译器才能为你生成get和set方法。
    本例中就会为你生成下列两个方法:
    -(CCSprite*) getBear{
    return _bear;
    }
    -(void) setBear:(CCSprite*)bear{
    if(_bear != bear){
    [_bear release];
    _bear = [bear retain]; //这里会是retain 跟你在@property(nonatomic,retain)中申明了retain有关。
    }
    }
    为什么会是bear = _bear呢?
    这是固定用法。如果你的成员变量的名字也是bear,那么就不要这个等于号。直接可以写成@synthesize bear;这也是你看到的比较多的写法。
    如果你实在要深究property,可以参考官方文档。
    相信这样解释你应该能够明白了。

  • 相关阅读:
    java 运算
    java String
    java的数据类型
    Python: str() 和 repr() 的区别
    Linux命令:which
    Linux命令:locate
    Linux命令:ifconfig
    Linux命令:whereis
    Linux命令:rz 和 sz
    Linux命令:scp
  • 原文地址:https://www.cnblogs.com/afly/p/2361539.html
Copyright © 2011-2022 走看看