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的私有成员变量。

  • 相关阅读:
    P1535 游荡的奶牛
    rmq
    bsgs算法详解
    P1396 营救
    P1547 Out of Hay
    P1474 货币系统 Money Systems
    P1209 [USACO1.3]修理牛棚 Barn Repair
    P1208 [USACO1.3]混合牛奶 Mixing Milk
    P1108 低价购买
    android屏幕适配的全攻略--支持不同的屏幕尺寸适配平板和手机
  • 原文地址:https://www.cnblogs.com/guligei/p/3876297.html
Copyright © 2011-2022 走看看