2

私はprogrammers.stackexchange.comでいくつかの質問を読んで、この質問がそこでよりよく尋ねられるかどうかを判断しました。この質問はSOに属すると思いますが、完全にはわかりません。

私はObjective-CとUIKitの基本的な知識を持っています。私は数年前、アーロンヒレガスによるOS X用ココアプログラミング(第2版)のほとんどを読みました。これは私の知識の大部分が由来するところです。残りは、さまざまなサイト、SOの質問、SDKドキュメント、および小規模な個人プロジェクト(OS XとiOSの両方)からのものです。

私が働いている大学でiOS(具体的にはiPhone)プロジェクトを始めています。このアプリケーションには、異なる機能を備えた別個のセクションがあります。「セクション」の例としては、仮想学生IDカード、現在の学期のクラススケジュール(ユーザー用)、キャンパスマップなどがあります。アプリケーションの将来のバージョンで新しいセクションを簡単に追加できるようにしたいと思います。したがって、セクションがメインプロジェクトから独立したコードグループ(可能な限り)になるようにプロジェクトを設計したいと思います。

新しいモジュールを作成して新しい機能を追加できることに加えて、私だけでなく、より多くの開発者がプロ​​ジェクトを使用できるようにしたいと考えています。つまり、チームの他の開発者が「ベストプラクティス」に従って、アプリケーションの新しいモジュールを開発できるようにしたいと考えています。

現在、私はUITabBarController自分の「モジュール」が新しいものUIViewControllerとNIBであるということに基づいてプロジェクトを進めています。これは私のプロジェクトを確立するための最適な方法ではないかもしれないと感じています。したがって、私の質問:

私が説明したようなプロジェクトのベストプラクティスは何ですか?

4

2 に答える 2

5

あなたは正しい方向に進んでいると思います。UIViewControllersは、これを分割するための良い方法です。

多くのオプションがある場合、UITabBarControllersはしばしば厄介です。可能性のテーブルビューを備えたウェルカム画面は、より拡張可能である可能性があります。たとえば、Facebookの左側のパネルまたは組み込みの設定アプリを参照してください。

通常、iOSプロジェクトでの再利用の難しい部分は、ビューコントローラー(通常は十分に分離されている)ではなく、ネットワークリクエスト、データストレージ、アカウント管理などの基盤となるインフラストラクチャです。このための既存のフレームワーク(たとえば、ParseやRestKitなど)、または少なくともそれらがどのように分割されるかを調べます。

優れた、再利用可能なiOSデザインのトピックについては、APIデザインに関するMatt Gemmellの投稿が、あなたが探しているものではないにしても、役立つかもしれません。

于 2012-08-25T00:27:49.763 に答える
2
  • コーディングスタイルとリソースの場所の規則を確立します。
  • 静的ライブラリを開発します。
  • 静的ライブラリが独自のリソースを必要とする場合(これは必要な苦痛になる可能性があります)、リソースの衝突を最小限に抑えるためにリソースにバンドルを使用することをお勧めします。
  • 各プロジェクトで各設定を定義しようとするのではなく、ビルド構成ファイルを一元化します(xcconfigsを使用)。

次に、これらのライブラリをアプリプロジェクトの依存関係として構成し、適切にビルド、リンク、およびコピーできます。

重要な注意事項:ObjCシンボル(およびそれらが参照するもの)を削除できないため、これらの場合(該当する場合)はCおよびC++シンボルに誤りを犯すことがよくあります。これにより、使用しない場合に多くの「バイナリ脂肪」を減らすことができます。したがって、他のライブラリ(システムライブラリなど)で宣言されたシンボルを主に処理する「コア」ライブラリとライブラリはCおよびC ++であり、高レベルの抽象化と派生型はObjCである可能性があります。

于 2012-08-25T01:21:03.567 に答える