私のiOSアプリケーションのバックエンドとフロントエンドコードをビルドしています。フロントエンドコードは、iPhone用にビルドされ、後でiPad用にビルドされます。しかし、バックエンドのコードは同じになるでしょう。私のいくつかの開発者は、バックエンドとフロントエンドで作業しています。バックエンド、アプリケーションはCoreDataを使用します。バックエンドコードを静的ライブラリとして作成し、フロントエンドコードでリンクさせることを考えていました。しかし、それは複雑すぎるようです。例えば、P1がEmptyアプリケーションとしてビルドされ、フロントエンドがP2としてビルドされていると言うバックエンドプロジェクトがあります。そして、どうにかP1がP2からのクラス/ファイル/コードを使用できないことを確認します(P1はP2に依存しないことを意味します)が、P2はP1からクラス/ APIなどを使用できます。私はP1が依存関係の分離をきれいにするためにP2コードを(意図せず)使用しないように強制したい。 提案がありますか?コード分離用Xcode
0
A
答えて
2
私は静的ライブラリは良い解決策だと思います。コアデータデータベースからデータを取得するためのヘルパークラスを作成することができます。例:
+ (NSArray *)fetchAllUsers;
+ (User *)fetchUserByName:(NSString *)name;
フロントエンドの開発者は、これらのメソッドを呼び出すことができることを認識しています。バックエンド開発者は、このメソッドの作業を担当します。
インスタンス化が必要な場合は、singeltonクラスを検討してください。
編集:(静的コアデータクラスの例)
+ (void)insertNewUserWithName:(NSString *)name
{
NSManagedObjectContext *context = [self managedObjectContext];
User *user = [NSEntityDescription insertNewObjectForEntityForName:@"Users"
inManagedObjectContext:context];
[user setName:name];
NSError *error;
if (![context save:&error])
{
NSLog(@"Whoops, couldn't save: %@", [error localizedDescription]);
}
}
関連する問題
- 1. 分離コード
- 2. 分離コード
- 3. ASP.NETエンティティは分離コード
- 4. ストレッチツールバーtoolbartrayの分離コードとXAML
- 5. Rコードから分離する
- 6. は、ASPを追加:分離コード
- 7. デーモン用アクティブレコードロガーの分離
- 8. コントロールパネル用Zendアプリケーションの分離?
- 9. スプリング分離サポート? MSQLスナップショット分離
- 10. AsyncTaskとUIスレッドの分離/分離
- 11. cssコードからhtmlコードを分離するには
- 12. WPFレイヤーイベント分離
- 13. トランザクション分離レベル
- 14. テストデータの分離
- 15. は分離オブジェクト
- 16. ワード分離アルゴリズム
- 17. アレイ分離--- C
- 18. デザインパターン - インターフェイス分離
- 19. データ分離
- 20. モジュールの分離
- 21. xCode ...距離順のテーブルビュー
- 22. IISのASP.netアプリケーション用のアプリケーションプールの分離
- 23. TransactionScopeと分離レベル
- 24. oracleの分離レベル
- 25. Mysql XA分離レベル
- 26. OSのメモリ分離
- 27. 距離計算用のCコード
- 28. sudoなしでコード内のCPUを分離しますか?
- 29. MVCのコードからナビゲーションルールを分離する理由
- 30. チャレンジ - コードとDBの行を分離したままにする
おかげJuzzz。次のように静的ライブラリを作成するための便利なメカニズムがありますか?a)CoreDataを持つstatic lib myLib.aを作成し、他のユーザーが使用するAPIを公開します。 b)CoreDataのないiPhoneアプリケーションMyAppプロジェクトを作成し、単にcreateUser、deleteUserなどのmyLib.aを使用して公開されたAPIを呼び出します。つまり、myAppはCoreDataを使用してこのcreateUser APIを実現していることさえも認識しません。何かご意見は? – theiOSguy
あなたのコンセプトの問題は、iOSアプリケーションがSQLiteのようなデータベースでコアデータを有効にする必要があることです。あなたのデータベースがあなたが作った他のアプリケーションと同じに適合しているときは、静的ライブラリを作成して、データをフェッチ/編集/ etcすることができます。しかし、静的ライブラリを作成するときには、かなり動的で再利用可能なメソッドを変更するのが簡単です。私はあなたのための私のポストの簡単な例を作成します。 – Justin