web-dev-qa-db-ja.com

iPhone Xcodeプロジェクトをどのように構成しますか?

グループ/フォルダを構築する良い方法は何ですか?

共通のグループで機能(機能とモデルのUIなど)で試してみました。 UIやモデルなどでも試してみました。

前者は、iPhoneのパラダイムにうまく適合するもののように一緒に保ちます。後者は、私がもう少し飛び回ることを意味します。

どう思いますか?

32
Scott McKenzie

標準のXcodeMVCフォルダー構造は次のとおりです。

  1. CoreData:DataModelクラスとエンティティクラスが含まれています。

  2. 拡張機能:1つのクラスを含む(デフォルトAppleクラス拡張機能+プロジェクトクラス拡張機能))

  3. ヘルパー:サードパーティのクラス/フレームワーク(例:SWRevealController)+ブリッジングクラス(例:Swiftベースのプロジェクト)のObj Cクラス)を含む

  4. Model:データを保存するためのシングルトンクラス(例:AppModel-NSArray、NSDictionary、Stringなど)を作成します。データの解析と保存を行うWebサービス応答もここで実行されます。

  5. サービス:Webサービスプロセスを含む(例:ログイン検証、HTTP要求/応答)

  6. 表示:ストーリーボード、LaunchScreen.XIB、およびビュークラスが含まれます。サブフォルダCellsを作成します-UITableViewCell、UICollectionViewCellなどを含みます。

  7. Controller:UIElementsに関連するロジックまたはコードが含まれています(例:UIButtonの参照+クリックされたアクション)

18
A.G

Johnにはポイントがありますが、私は実際にプロジェクトを作成して、小規模または中規模のコードベース用の一般的なXcodeプロジェクト構造を示しています。あなたはそれを見つけることができます ここ

その概要は次のとおりです。

  • ソース-すべてのソースコード
    • アカウント-アカウント関連のクラス(セッション関連のクラス、アカウントロジックなど)
    • アプリケーション-アプリケーション関連のクラス。アプリデリゲート、構成クラスなど
    • コアの追加-Appleのクラスに由来する拡張機能とサブクラス
      • ユーティリティ-一般的なユーティリティクラス。便利な拡張機能、フォーマットユーティリティ、便利なクラスなど
      • 要素ベースのフォルダー-UIView、UITableViewCellなどのフォルダー
    • ローカル永続性-ローカル永続性レイヤー。ローカルデータベース(レルム、コアデータ)とのすべての相互作用
      • リポジトリ-すべてのモデル関連のローカル永続性ロジック
    • 定数-すべての定数。 URL、フォント、色、エラーなど
    • モデル-すべてのモデル(サーバー側エンティティの表現)。また、ここにオブジェクトマッピングロジックをスローします
    • モジュール-ここでは、機能ごとに分けられたアプリケーションの各部分を見つけることができます
      • モジュールベースのフォルダー-各フォルダーには、モジュール固有のすべてのビューコントローラー、ビュー、デリゲート、および関連クラスが含まれます
    • ネットワーキング-アプリのネットワーキングレイヤー(例:ウェブサービスとのやり取りを担当するクラス)
      • サービス-すべてのモデル関連のWebロジック
  • ストーリーボード-すべてのストーリーボードファイルが含まれています
  • リソース-メディア、ドキュメント、ローカリゼーションファイルなどの追加リソース
5
Julian B.

それは非常にプロジェクトに依存するでしょう。前回のプロジェクトではほとんどビューがあったので、ビュータイプ別にビューを整理しました。

3
John Smith