fdh*_*fdh 3 oop macos xcode objective-c
由于Objective-C不支持类中的const实例变量,因此有哪些替代方法可以确保变量的值不会发生变化?我不想求助于预处理器#defines,因为我更喜欢类变量.另外,是否存在不支持const实例变量的原因?
Objective-C中的对象的构造与C++或Java中的对象不同.alloc
在init
调用方法之前,方法将所有实例变量初始化为零,因此在init
调用const
实例变量时调用它会为时已晚.显然编译器编写者可以修改编译器以支持const
在init
方法中更改实例变量,但他们没有这样做.
通常,您只需创建实例变量@private
并使用访问器方法公开它们.如果您不希望更改实例变量的值,请不要公开setter方法,也不要修改类实现中的变量.
如果您放弃对32位Mac OS X的支持,您可以将实例变量放在您的实体变量@implementation
而不是您的实体变量中@interface
,这样可以完全保护它们免受其他类的干扰.
归档时间: |
|
查看次数: |
1210 次 |
最近记录: |