0

クライアント/サーバー Cocoa アプリケーションを作成しています。アプリケーション サーバーには UI がありません。この質問を単純化するために、データが (Web アプリではなく) CFNetwork ストリームを介して移動していると考えてください。各 iOS クライアントには、次のようなタスクを OSX アプリケーション サーバーで実行するように要求する機能があります。

  • レコードまたはレコードのセットを取得して返す
  • レコードを作成する
  • 記録を更新する

NSManagedObjectContext データが NSObjectController/NSArrayController およびビューへのバインディングによって管理される UI の例を確認します。

サーバーにビューはありません。この機能を AppDelegate に移動するべきではないことを理解しています。

どのようなアプローチを使用する必要がありますか? たとえば、各クラスがその作業単位に関連する NSManagedObjectContext を所有する、一連の関連するクライアント要求にそれぞれが応答するクラスを作成する必要がありますか? 私の疑似コードを許してください:

@interface AccountManagement : NSObject
NSManagedObjectContext *contextAccounts;
-(void)fetchAccounts;
-(void)createAccount;
-(void)updateAccount;
@end

@interface SiteManagement : NSObject
NSManagedObjectContext *contextAccounts;
-(void)fetchSite;
-(void)createSite;
-(void)updateSite;
@end

また、NSArrayController がこの構造にどのように適合するかを確認するのにも苦労しています。UI がないので必要ないのでしょうか?

4

1 に答える 1

0

私はあなたがあなたのNSObject派生クラスで正確に目標を達成していると思います。例とまったく同じように、UI部分を省略します。

ところで、2つのクラスのプロトタイプは少し冗長に見えます(ちょうど異なるエンティティ)。それらを1つにまとめることができると確信しています。

于 2012-07-28T10:20:23.040 に答える