C# では、インスタンス変数を宣言してreadonly
、宣言中またはそれが属するクラスのコンストラクターでのみ代入の対象となるように指定できます。
private readonly int _myInt;
Objective-C では、次のようにプロパティを読み取り専用として宣言できることを理解しています。
@property (readonly) int myInt;
ただし、これはプライベート アクセサーを持つ C# プロパティと同等でありset
、対応するインスタンス変数が初期化後に "プライベートに" 再割り当てされることを防ぎません。
Objective-Cで C# の修飾子の動作を模倣する方法はありますか?readonly
インスタンス変数は、それを含むクラスのイニシャライザでのみ割り当てることができます (注:クラス初期化子、const
修飾子は私のニーズに合わない)?
これが不可能な場合、Objective-C でこの動作が適切ではないという概念的な理由はありますか?