美文网首页
@synthesize和@property关键字

@synthesize和@property关键字

作者: BigBossZhu | 来源:发表于2016-12-28 11:40 被阅读42次

    同时重写settter和getter方法,不用运行时怎么实现?

    @interface ViewController ()
    {
        NSInteger _age;
    }
    @property (nonatomic, strong) NSString *name;
    //这样就会生成setter和getter
    @property (nonatomic, assign) NSInteger age;
    @end
    
    @implementation ViewController
    //关联属性,生成方法
    @synthesize age = _age;
    
    - (NSInteger)age {
        return _age;
    }
    - (void)setAge:(NSInteger)age {
        _age = age;
    }
    #pragma mark - setter && getter
    
    //不能setter和getter方法都重写
    //- (void)setName:(NSString *)name {
    //    _name = name;
    //}
    //- (NSString *)name {
    //    return name;
    //}
    

    理解@property会自动生成setter和setter方法,当只使用这个属性时不同同时重写setter和getter方法,上面的@synthesize关键字完美解决了这个问题.将_age和age关联起来,和属性的使用效果相同.

    相关文章

      网友评论

          本文标题:@synthesize和@property关键字

          本文链接:https://www.haomeiwen.com/subject/axdyvttx.html