Objective-C

@property

2019-02-21  本文已影响13人  越天高

1.什么是@property

2.@property基本使用

在@inteface中,用来自动生成setter和getter的声明

用@property int age;就可以代替下面的两行
- (int)age;   // getter
- (void)setAge:(int)age;  // setter
  1. 在@inteface和@end之间写上@property
  2. 在@property后面写上需要生成getter/setter方法声明的属性名称, 注意因为getter/setter方法名称中得属性不需要_, 所以@property后的属性也不需要_。并且@property和属性名称之间要用空格隔开
  3. 在@property和属性名字之间告诉需要生成的属性的数据类型, 注意两边都需要加上空格隔开

@property增强

@interface Person : NSObject
{
    int _age;
}
@property int age;
@end

2.@property增强注意点

@interface Person : NSObject
{
    @public
    int _age;
    int age;
}
@property int age;

@end

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

    Person *p = [Person new];
    [p setAge:30];
    NSLog(@"age = %i, _age = %i", p->age, p->_age);

    return 0;
}
Person *p = [Person new];
[p setAge:-10];
NSLog(@"age = %i", [p age]);
上一篇下一篇

猜你喜欢

热点阅读