您的位置:首页 > 运维架构

12月18号 属性property

2015-12-18 12:57 183 查看
默认成员变量是私有的 只在本身这个类里面可以使用

@property演变过程

但是由于代码量过于复杂冗长,引入了@property (声明)和 @synthesize(实现)

后来又简化成只有@property,而省略了@synthesize,自动生成

最后省略了成员变量改为属性,去掉了大括号,用@property属性一句话写完

代码:

@property (nonatomic, strong) NSString *name;

@property (nonatomic, assign) int age;

/*

1. 定义了一个属性 name

2. 声明了一个set方法

3. 声明了一个get方法

4. 实现了相应的setter/getter方法

*/

定义了一个吃面包的函数,在内部方法调用内部属性的时候,要用_name,因为@synthesize虽然省略了,但是该实现的还是实现了

-(void)eat:(Bread *)aBread{

NSLog(@"%@吃掉了%@面包",_name,aBread.style);

}

main中赋值和调用的时候有两种方式

1.  hr.name = @"wangkaiyu";

   NSLog(@"%@",wky.name);

2.  [hr setAge:22];

   NSLog(@"%d",[wky age]);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: