3

プロジェクトにいくつかの文字列があり、すべての文字列を定数などの共通ファイルに入れたいと考えています。

(1番目のアプローチ) constants.hで、次のことができます:

    #define COMMON_STRING @"myString"

また

(2回目のアプローチ)

constants.h 内

    extern NSString *const COMMON_STRING;

constants.m で

    NSString *const COMMON_STRING = @"myString";

どちらのアプローチを使用するのが良いですか?また、その理由は何ですか?または、これには他のより良いアプローチがありますか?

編集:

その投稿によると extern NSString *const COMMON_STRING; メモリの観点からは優れています。しかし、どこかで、 #define はすべての出現箇所に文字列を挿入することも読んだことがあります。これにより、コンパイラが同じ定数文字列の出現を最適化しない限り、メモリ使用量が増加します。

提案された投稿では、1 つの投稿は構造のみを定義し、もう 1 つの投稿は比較を説明していますが、非常に限定的であり、私が期待しているものではありません。

4

1 に答える 1