Objective-C 内存管理与属性深度解析(上)
1. 封装与内存管理
在之前的方法中,我们使用局部变量进行内存管理。而在这部分,我们将探索使用对象的实例变量进行内存管理。实例变量的作用域与对象相同,并且在对象的接口中声明。优秀的面向对象程序员从不直接从外部引用这些变量,而是使用访问器方法。
为了更好地理解访问器方法,我们先了解一下封装的概念。封装是面向对象编程的设计原则,它规定实例变量应该对外界进行封装。简而言之,永远不要直接访问类的实例变量,而是使用称为访问器方法的方法来设置或获取类的实例变量。这些方法用于正确地获取和设置实例变量,并允许在设置对象的实例变量之前进行验证等操作。
访问器方法也被松散地称为“getter”和“setter”方法。getter 用于从对象中获取实例变量,而 setter 用于在对象中设置实例变量。在 Objective-C 程序中,当考虑内存管理和引用计数时,getter 和 setter 变得尤为重要。
2. 创建对象和基本类型的访问器方法
以下是创建访问器方法的步骤:
1. 使用 Foundation 工具模板创建一个新的命令行工具项目,命名为 Accessors。
2. 创建一个名为 Bar 的新类,并按照以下代码实现:
// Bar.h
#import <Foundation/Foundation.h>
@interface Bar : NSObject {
int myAge;
NSString * myName;
}
- (void) setMyAge: (int
超级会员免费看
订阅专栏 解锁全文
10

被折叠的 条评论
为什么被折叠?



