15

iOSアプリ「Best Korea」を書いています。私の組織名は「Srsly.co」です。アプリ全体で使用する再利用可能な「ニュース」ライブラリを作成します。

各 iOS アプリには、独自のアプリ全体の定数が.hファイルにあり、ライブラリ コードにはヘッダー ファイルにも定数があります。これらのプロジェクトごとにテストも行います。

これは物事を行う標準的な方法ですか?

Ruby、Python、Java などでは、次の行に沿って名前空間を設定します。

co.srsly.bestkorea
co.srsly.bestkorea.test
co.srsly.newslib
co.srsly.newslib.test

私の知る限り、Objective-C のパターンでは、各開発者が 2 つまたは 3 つの大文字を選択し、すべてのクラス名の前にそれらを付けます。

私の場合、アプリのクラス名の接頭辞としてBKを選択し、ニュース ライブラリ コードにはNLを選択すると思いますか? 私はこれについて正しい方法で考えていますか?

編集:ここで説明したように、アプリケーションコードで名前空間をまったく使用しないことを検討ます。

4

2 に答える 2

35

Objective-C には名前空間のサポートが組み込まれていないことは間違いありません。一般的な解決策は、各クラスで大文字のプレフィックスを使用することです。Apple、2 文字の接頭辞はそれらの使用のために予約されていると述べていることに注意してください。そのため、独自のクラスには 3 文字の接頭辞を使用する必要があります。それ以外の場合は、提案されたアプローチが通常のことです。

于 2013-03-21T03:43:05.250 に答える
2

Java で期待されているように、Objective-C には NameSpace はありません。

Objective-C は、NS、UI、CG、CF などのクラス プレフィックスを使用して、名前空間の衝突を安全に取り除きます。

また、クラスには 3 文字の Prefix を使用することをお勧めします。

これを読む必要があります:Objective-C名前空間の衝突を解決する最良の方法は何ですか?

于 2013-03-21T03:45:55.057 に答える