2016-10-09 10 views
5

コードサンプルを提供するチュートリアルやサンプルでは、​​Xcodeのプロジェクトナビゲータのプロジェクトファイルが、MVCパターンに従ったグループ(「ビュー」、「コントローラ」、「モデル」)、およびそれらが整理されている他のグループ(例えば、「ログイン」、「チェックリスト」など)によってグループ化されます。Xcodeプロジェクトグループ構造のベストプラクティス?

iOSに関して、Appleのコンベンション/勧告はありますか? どちらがベストプラクティスですか?

+0

可能な複製などの任意のadditionalyリソースを(https://stackoverflow.com/questions/3983144/how-do-you-structure-an-iphone-xcode-project) – Jaythaking

答えて

5

多くの人がグループ、コード、ファイルを整理するために多くの方法を採用していると思います。私はこれをほとんどこれに従います:(How do You structure an iPhone XCode project?から得た)

CoreData:DataModelとエンティティクラスが含まれています。スウィフトベースのプロジェクトでのサードパーティクラス/フレームワーク含むクラス(例えばブリッジ+ OBJのCクラス

拡張:一つのクラス含まれ

ヘルパー(+プロジェクトのクラス拡張をデフォルトのリンゴのクラスの拡張を。)(例えばSWRevealController。)。 )

モデル:データを保存するためのシングルトンクラス(例:AppModel - NSArray、NSDictionary、Stringなど)を作成します。 Webサービスレスポンスの解析とデータの格納もここで行います。

サービス:Webサービスのプロセスが含まれ(例えばログイン検証、HTTPリクエスト/レスポンス。)

ビュー:ストーリーボード、LaunchScreen.XIBとビュークラスが含まれています。サブフォルダ細胞を作る - などのUITableViewCell、UICollectionViewCellを含ん

コントローラ:のUIElementに関連するロジックまたはコード(例えば、アクションをクリックした+ UIButtonの参照が。)

また、これはあなたを助けることが含まれています

  1. http://akosma.com/2009/07/28/code-organization-in-xcode-projects/

  2. https://github.com/futurice/ios-good-practices/issues/28

  3. http://www.slideshare.net/MassimoOliviero/architecting-ios-project

0

私は実際に私が頼りにXcodeのプロジェクト構造、小規模または中規模のコードベースについて考えるものを証明するためのプロジェクトを作成しました。あなたはそれを見つけることができますhere。ここで

はその概要です:

  • ソース - すべてのソースコード
    • アカウント - アカウント関連クラス(セッション関連するクラス、アカウントロジックなど)
    • アプリケーション - 応用 - 関連するクラス。などのアプリケーションデリゲート、設定クラス、
    • コアの追加 - 拡張機能とリンゴのクラス
      • ユーティリティから派生サブクラス - 一般的なユーティリティクラス。便利な拡張機能、書式設定ユーティリティ、便利なクラスと、そのような
      • 要素ベースのフォルダ - UIViewの、UITableViewCellのためのフォルダなど
    • ローカル永続 - ローカル永続化層。ローカルデータベース(レルム、コアデータ)とのすべての相互作用
      • リポジトリ - すべてのモデルに関連するローカル永続ロジック
    • 定数 - すべての定数。 URL、フォント、色、エラーなど
    • モデル - すべてのモデル(サーバー側エンティティの表現)。我々はまた、任意のオブジェクトのマッピング・ロジックにここ
    • モジュールを投げるだろう - ここでは、機能
      • モジュールベースのフォルダで割ったアプリケーションの部分のそれぞれを見つけることができます - 各フォルダには、すべてのモジュール固有のビューコントローラ、ビュー、代表者が含まれており、関連するクラス
    • ネットワーキング - アプリケーションのネットワーク層(Webサービスとの相互作用の役割を果たし例えばクラス)
      • サービス - 全てのモデルに関連するウェブロジック
  • ストーリーボードは - すべてのストーリーボードファイル
  • リソース含まれています - [?あなたはiPhone Xcodeプロジェクトを構築するにはどうすればよい]メディア、ドキュメント、ローカライズファイルとのこのよう
関連する問題