关闭

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

标签: Objective-csettergetter方法Xcode4.4版本
235人阅读 评论(0) 收藏 举报
分类:

/*

 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 = [YYPerson new];

    //赋值属性

    xiaoming.name = @"小明";

    xiaoming.age = 18;

    

    //取值:

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

    

    //调用方法

    [xiaoming sayHi];

    

    

    return 0;

}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:6318次
    • 积分:805
    • 等级:
    • 排名:千里之外
    • 原创:74篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    文章分类
    最新评论