在 C# 中,我们可以声明一个实例变量,readonly
以指定它只能在声明期间或在其所属类的构造函数中作为赋值的主题:
private readonly int _myInt;
在 Objective-C 中,我知道可以将属性声明为只读,因此:
@property (readonly) int myInt;
但是,这等效于具有私有set
访问器的 C# 属性,并且不保护相应的实例变量在初始化后不被“私有”重新分配。
有没有办法readonly
在 Objective-C 中模仿 C# 修饰符的行为,这样实例变量只能在其包含类的初始化程序中分配(请注意 - 因为我希望能够在类初始化器,const
修饰符不适合我的需要)?
如果这是不可能的,是否有概念上的原因导致这种行为在 Objective-C 中不合适?