返回介绍

属性

发布于 2025-04-26 18:09:32 字数 801 浏览 0 评论 0 收藏

当有太多的成员变量,然后又需要给每个变量设置 getter/setter 方法时,这会非常枯燥,而且会让代码变得更加臃肿,这就是为什么 Objective-C 会出现 property 这个特性。使用 property 声明属性会自动生成类成员变量的 getter/setter 方法。下面是一个使用 property 声明属性的 Book 类:

@interface Book : NSObject {
    id data;
    int pages;
    NSString *title;
    NSString *author;
}

@property (readonly) NSString *title; // 创建一个只有 getter 权限的方法
@property (retain) NSString *author; // 创建一个 getter/setter 权限的方法
- (void) initWithTitle: (NSString *)aTitle;

+ (id) createBookWithTitle:(NSString *)aTitle;
+ (id) createBookWithTitle:(NSString *)aTitle andAuthor:anAuthor;

property 语法比较基础,以 @property 声明开始,紧随其后的是关键字,通过关键字来决定是只生成 getter 方法,还是同时生成 getter 和 setter 方法。

在实现中,通过 synthesize 语法来声明属性的存取方法。

@synthesize title, author;

你可以在实现中创建自定义的 getter 和 setter 方法。

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。