Objective-c - setter/getter方法的自动生成(Xcode4.4版本开始)

来源:互联网 发布:vb数组上界什么意思 编辑:程序博客网 时间:2024/05/17 07:21

/*

 Objective-c - setter/getter方法的自动生成(Xcode4.4版本开始)

 

    1> @property的增强:

        Xcode4.4版本开始,@property实现了增强,只写一个@property,编译器就会自动帮你完成如下工作:

        1, 自动生成一个带下划线的属性,这个属性是生成在@implementation中的真私有属性.

        2, 自动生成属性的setter/getter方法的声明.

        3, 自动生成属性的setter/getter方法的实现.

           setter方法的内部直接将参数赋值给了它自动生成的真私有属性.

           getter方法的内部直接返回它自动生成的真私有属性的值.

    

    2> @property的增强的使用:

        1, @property的属性名称不要带下划线,这样就可以在@implementation中生成带下划线的真私有属性.

        2, @property类型相同的时候可以批量声明,类型不同不可以批量声明.

        3, @property生成的方法也是没有逻辑验证的,如果需要逻辑验证,可以自己重写方法.

        4, 如果重写了setter方法,@property仍然会生成私有属性和getter方法;

           如果重写了getter方法,@property仍然会生成私有属性和setter方法.

        5, 如果同时重写了setter/getter方法,那么@property就不会生成私有属性了.

           则需要自己在@implementation中添加属性.

 

 如下代码:

 

 */



#import <Foundation/Foundation.h>

#import "YYPerson.h"


int main(int argc,const char * argv[]) {

    

    //创建人对象

    YYPerson *xiaoming = [YYPersonnew];

    //赋值属性

    xiaoming.name = @"小明";

    xiaoming.age = 18;

    

    //取值:

    NSLog(@"大家好!我叫%@,今年%d岁了!", xiaoming.name, xiaoming.age);

    

    //调用方法

    [xiaoming sayHi];

    

    

    return 0;

}

0 0