zoukankan      html  css  js  c++  java
  • @property @synthesize 对着set方法和get方法

    @property
    @synthesize
    1. 这两个的作用是代替set和get方法;
    2. @property int age;代替下面两句
    3. - (void)setAge:(int)age;
    4. - (int)age;
    5. 作用:
    6. 自动生成某个成员变量的setter和getter声明;
    7. @property double weight;
    8. @property NSString *name;
    9. 现在需要到实现中去实现;
    10. 使用@synthesize age;会把age property这些声明进行实现;
    11. @synthesize age = _age;来指定对谁赋值;
    12. p代表property
    13. @synthesize age = _age,name = _name;
    14. @propterty int speed,wheels;
    15. @synthesize speed = _speed,wheels = _wheels;会访问_speed这个成员变量,如果不存在,就会自动生成@private类型的_speed变量;
    16. 一般是很少连在一起的,都是分开的;
    17. 在xcode4.4之后,@property既生成声明又生成实现;既生成set方法又生成get方法;
    18. 用@property来实现和声明,里面的成员变量都是私有的,如果想子类去访问,需要单独设置成员变量;
    19. @synthesize speed;如果speed不存在,就会自动生成@private类型的speed变量;
    20. @synthesize speed = _speed,,如果 _speed 不存在,就会自动生成@private类型的_speed变量;
    21. 默认情况下,setter和getter方法中的实现,会去访问下划线_开头的成员变量;
    22. 如果用户自己定义了,xcode就不会自动生成;
    23. 若手动实现了setter方法,编译器就只会自动生成getter方法;
    24. 若手动实现了getter方法,编译器就只会自动生成setter方法;
    25. 若同时手动实现了setter和getter方法,编译器就不会自动生成不存在的成员变量;
  • 相关阅读:
    高斯消元模板(通用+异或)
    矩阵快速幂模板
    hdu 6185 递推+矩阵快速幂
    欧几里得小结
    乘法逆元模板
    vijo 1456最小总代价
    MariaDB数据库
    docker基本命令
    std::tuple
    boost::asio
  • 原文地址:https://www.cnblogs.com/williamliuwen/p/5369845.html
Copyright © 2011-2022 走看看