——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
一、@property
@property 是用来自动生成成员变量的get/set方法声明的。
语法:告诉property要生成的get/set方法声明的成员变量类型是声明,要哪个属性。
示例代码:
#import <Foundation/Foundation.h>
@interface Person : NSObject
{
int _age;
int _num;
}
@property int age;
@property int num;
@end
二、@synthesize
@synthesize是用来自动生成get/set方法的实现。
示例代码:
#import "Person.h"
@implementation Person
@synthesize age = _age;
@end
三、@property的增强
在xcode4.4以后property做了增强,帮助我们自动生成get/set方法的声明,和实现。如果没有手动声明成员变量,property会在.m文件中自动帮我们生成一个_开头的成员变量。
示例代码:
Person.h
#import <Foundation/Foundation.h>
@interface Person : NSObject
@property int age;
@end
Person.m
#import "Person.h"
@implementation Person
@end
main.m
#import <Foundation/Foundation.h>
#import "Person.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
Person *p = [[Person alloc]init];
p.age = 10;
NSLog(@"%d",p.age);
}
return 0;
}
运行结果:
四、重写set/get方法
功能:用来过滤数据
示例代码:
#import "Person.h"
@implementation Person
- (void)setAge:(int)age
{
_age = age;
if (_age<0) {
_age = 0;
}
}
@end
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-