码迷,mamicode.com
首页 > 其他好文 > 详细

OC开发系列-@property和@synthesize

时间:2018-04-14 00:39:20      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:属性   需要   etag   port   syn   开发   class   void   复制   

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代码没有任何技术含量。于是苹果提供关键字propertysynthesize关键字利用编译器特性将我们自动生成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

标签:属性   需要   etag   port   syn   开发   class   void   复制   

原文地址:https://www.cnblogs.com/CoderHong/p/8824866.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!