16

すべてはタイトルにあります:)

ObjC にテンプレートはありますか?

私はc#に相当するものが必要です:

public class MyClass<T> : Message

ObjC で。

どんな助けでも強く感謝します:(

4

3 に答える 3

14

そのような ObjC 機能はありません。ObjC++ は存在しますが、広く使用することは強くお勧めしません。ツールとデバッガーのサポートが不十分であることから、コンパイラーの最適化が不十分であること、ARC のパフォーマンスが低下することなど、多くの問題があります。

通常、ObjC は厳密に型指定された言語ではないため、テンプレートは必要ありません。AnNSArrayは任意のオブジェクトを保持できるため、適切な型を取得するためにテンプレートを使用する必要はありません。解決しようとしている特定の問題がありますか? より良い ObjC ソリューションが存在する可能性があります。

于 2012-04-06T12:54:54.643 に答える
1

ところで、Xcode は New->File による C++ クラスの追加をサポートしています。C++ で extern "C" {} コンストラクトを使用するということは、Objective-C は C のスーパーセットであるため、Objective-C コードから直接呼び出すことができる、必要な数の C 呼び出し可能なインターフェイスを提供できることを意味します。 .

そうは言っても、既存の C++ コードの本体をプロジェクトに組み込む必要があるなど、Objective-C パラダイムの外に移動する差し迫った理由がない限り、Objective-C パラダイム内に固執することをお勧めします。(これは、Objective-C が「より優れた」言語であると言っているわけではありません。これはまったく別の問題です。)

于 2013-01-25T13:36:51.973 に答える