关注微信公众号 太平洋学习网 扫描二维码
最新消息:关注【太平洋学习网】微信公众号,可以获取全套资料,【全套Java基础27天】【JavaEE就业视频4个月】【Android就业视频4个月】

ios入门教程7:OC的@property和@synthesize使用

IOS admin 浏览 评论

ios中object-c语言的@property和@synthesize关键字是用来省略类变量的get与set的方法的,我们之前定义一个Student学生类,需要在.h文件中申明变量的get与set方法,并且还要在.m实现文件中实现.h文件中申明的方法,这样的代码看起来很冗余,之前的代码如下。

Student.h的申明文件:

#import <Foundation/Foundation.h>
@interface Student : NSObject{
    int age;
}
//get方法申明
-(int)age;
//set方法申明
-(void)setAge : (int)newAge;
@end

Student.m中实现文件的代码:

#import "Student.h"
@implementation Student
//get方法实现
-(int)age{
    return age;
}
//set方法实现
-(void)setAge:(int)newAge{
    age = newAge;
}
@end

以上的代码如果属性很多的话,会有很多不必要的代码,这样就会影响我们的开发效率,如果使用@property和@synthesize这两个关键字的话,会节约不少时间,@property是方法的申明,@synthesize是方法的实现关键字,以上的代码可以直接简写成以下的形式。

简写后的Student.h的申明文件:

#import <Foundation/Foundation.h>
@interface Student : NSObject
    //有了这个关键字,oc会自动加入age同名的变量,就不需要再添加类变量了。
    @property int age;
@end

简写后的Student.m实现文件的代码:

#import "Student.h"
@implementation Student
    //这一个不需要也可以,因为xcode会自动帮你加上实现方法
    @synthesize age;
@end

请注意,在object-c中,@property和@synthesize只能简写类变量的get和set方法申明和实现,如果get和set方法需要自定义,就不能用这个关键字。

来源网站:太平洋学习网,转载请注明出处:http://www.tpyyes.com/a/object-c_ios/2017/0202/53.html