2012-03-08 9 views
0

iPhoneでコアデータを持つアプリケーションを開発しています。コアデータに関する多くのプロジェクトを読み終えた後、コアデータコードはすべてのプロジェクトのviewControllerコードに埋め込まれています。例えば:コアのデータコードをviewControllerコードに埋め込む必要があります

@interface MyAppMasterViewController : UITableViewController <NSFetchedResultsControllerDelegate> 

@property (strong, nonatomic) MyAppDetailViewController *detailViewController; 

@property (strong, nonatomic) NSFetchedResultsController *fetchedResultsController; 
@property (strong, nonatomic) NSManagedObjectContext *managedObjectContext; 

私はViewControllerをからコアデータに関するすべてのコードを分割し、特殊なストレージ・クラスを作成します。もっと何、例えば、コアデータAPIをパッケージ化するためにいくつかの方法を提供します。

@interface MyAppMasterViewController : UITableViewController 
... 
... 
@interface MyAppStorageClass : NSObject <NSFetchedResultsControllerDelegate> 
@property (strong, nonatomic) NSFetchedResultsController *fetchedResultsController; 
@property (strong, nonatomic) NSManagedObjectContext *managedObjectContext; 

(Note *)createNote; 
(BOOL)deleteNote; 

私は1日、私は私のプロジェクトを保存するためにコアデータを使用しない場合、私は低コストでそれを置き換えることができ、考えます。

上記の内容はすべて正しいですか?私はこれをすることができますか?

答えて

0

はい、データストレージコードをユーザーインターフェイスコードから分離することをお勧めします。私はシングルトンクラスlike thisを使ってアプリケーションのデータを管理する傾向があります。

0

データアクセスオブジェクトにそれを考慮する方が良いです。コードは周囲に広がっておらず、容易にテスト可能(コードカバレッジ)であり、他のプロジェクトでも再利用可能です。シングルトンを使用し、それをappDelegateに入れることは、ほとんどの場合意味があります。

関連する問題