zoukankan      html  css  js  c++  java
  • setter, getter, @property , @synthesize

    一,单纯的set get,

    .h文件

    @interface Person : NSObject
    {
        NSString *_name;
    }
    
    -(void)setName:(NSString *)name;
    -(NSString *)getName;
    
    @end

    .m文件

    -(void)setName:(NSString *)name
    {
        _name = name;
    }
    
    -(NSString *)getName
    {
        return _name;
    }

    调用

        Person *person = [[Person alloc]init];
        [person setName:@"guligei"];
        NSLog(@"
    name:%@",[person getName]);

    打印输出:

    2014-07-29 18:49:05.399 MS[8864:60b] 
    name:guligei

    二,使用@property,@synthesize

    .h

    @interface Person : NSObject
    
    @property(nonatomic,strong) NSString *name;
    
    @end

    .m

    @implementation Person

        @synthesize name;

    @end

    调用

     Person *person = [[Person alloc]init];
        person.name = @"guligei";
        NSLog(@"
    name:%@",person.name);

    打印输出

    2014-07-29 18:51:07.267 MS[8884:60b] 
    name:guligei

    说明:在写model的时候,会有很多属性 需要实现set,get方法,写起来枯燥,而 Xcode提供了@property和@synthesize属性,编译器会自动帮你加上 getter 和 setter 方法的实现。 PS: 在Xcode4.5及以后的版本中,可以省略@synthesize ,默认会去访问 _name(本例中使用)  这个成员变量,如果找不到 _name这个成员变量,会自动生成一个叫做 _name的私有成员变量。

  • 相关阅读:
    activity
    笔记
    创建敌人基类
    让精灵改变方向并前进
    给敌人精灵创建帧动画
    每帧创建一个item
    lua -- 所有UI组件的基类
    lua -- 系统提示框
    lua -- 生成协议
    ES6,数组遍历
  • 原文地址:https://www.cnblogs.com/guligei/p/3876297.html
Copyright © 2011-2022 走看看