OC开发系列-@property和@synthesize
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OC开发系列-@property和@synthesize相关的知识,希望对你有一定的参考价值。
property和synthesize关键字
创建一个Person类。
#import <Foundation/Foundation.h>
@interface Person : NSObject
{
int _age;
int _height;
}
- (void)setAge:(int)age;
- (int)age;
@end
#import "Person.h"
@implementation Person
- (void)setAge:(int)age
{
_age = age;
}
- (int)age
{
return _age;
}
@end
开发中考虑封装性将成员属性通过提供setter与getter结构供外界访问。但是这些setter跟getter代码没有任何技术含量。于是苹果提供关键字property
和synthesize
关键字利用编译器特性将我们自动生成setter跟getter方法。
@property int age;
// - (void)setAge:(int)age;
// - (int)age;
@synthesize age;
/*
- (void)setAge:(int)age
{
}
- (int)age
{
}
*/
@synthesize age虽然帮我们实现了set跟get方法的实现,并未指定将外界传递的值对哪个成员属性进行赋值。如上Person类需要给成员_age复制。
@synthesize age = _age;
以上是关于OC开发系列-@property和@synthesize的主要内容,如果未能解决你的问题,请参考以下文章
IOS 关键字self,super,copy, retain, assign , readonly , readwrite, nonatomic @synth