1. ホーム
  2. objective-c

[解決済み] NSArrayやNSMutableArrayなどの型付けを強制する方法はありますか?

2023-02-13 19:03:50

質問

を作ることはできますか? NSMutableArray インスタンスを作成することができます。 すべて の場合、要素のタイプは SomeClass ?

どのように解決するのですか?

カテゴリを作るのに -addSomeClass: メソッドを持つカテゴリを作り、コンパイル時に静的な型チェックを行うことができます (そのため、コンパイラはそのメソッドを通して異なるクラスであるとわかっているオブジェクトを追加しようとすると、それを知らせることができます) が、配列が与えられたクラスのオブジェクトのみを含むことを強制する実際の方法はありません。

一般に、Objective-C ではそのような制約を必要としないように思われます。経験豊富な Cocoa プログラマーがそのような機能を望んでいるのを聞いたことがないような気がします。そう思えるのは、他の言語から来たプログラマで、まだその言語で考えている人たちだけです。もし、あるクラスのオブジェクトだけを配列に入れたいのであれば、そのクラスのオブジェクトだけを配列に入れればいい。もしあなたのコードが正しく動作しているかテストしたいのであれば、テストしてください。