码迷,mamicode.com
首页 > 移动开发 > 详细

ios 基础学习二

时间:2015-05-19 22:08:55      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:

1:@property  @synthesize 属性(类似java里的get set)

技术分享
上面那个类原先的实现是这样:

#import  
 
@interface Photo : NSObject {  
 
NSString* caption;  
 
NSString* photographer;  
 
}  
 
- (NSString*) caption;  
 
- (NSString*) photographer;  
 
- (void) setCaption: (NSString*)input;  
 
- (void) setPhotographer: (NSString*)input;  
 
@end  

假如用属性来实现就是这样:

#import  
 
@interface Photo : NSObject {  
 
NSString* caption;  
 
NSString* photographer;  
 
}  
 
@property (retain) NSString* caption;  
 
@property (retain) NSString* photographer;  
 
@end  
 
@property是Objective-C来声明属性的编译指令。括号里面的"retain"指明了setter需要retain输入的对象。这行其他的部分指定了属性的类型以及名字。


下面让我们来看看这个类的实现:

#import "Photo.h"  
 
@implementation Photo  
 
@synthesize caption;  
 
@synthesize photographer;  
 
- (void) dealloc  
 
{  
 
[caption release];  
 
[photographer release];  
 
[super dealloc];  
 
}  
 
@end  
 
@synthesize指令自动的生成了我们的setters和getters。所以我们只需要实现类的dealloc方法。

Accessors只有当他们原先没有的时候,才会被生成。所以可以放心大胆的去用@synthesize来指定属性。而且可以随意实现你自己的getter和setter。编译器会自己去找哪个方法没有。
View Code

 

ios 基础学习二

标签:

原文地址:http://www.cnblogs.com/yujian-bcq/p/4515460.html

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