если код основных данных должен быть встроен в код viewController - PullRequest
0 голосов
/ 08 марта 2012

Сейчас я разрабатываю приложение с основными данными на iPhone.Прочитав много проектов об основных данных, я обнаружил, что код основных данных встроен в код 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;

Я думаю, что если однажды я не захочу использовать основные данные для хранения своего проекта, я могу заменить его нанизкая стоимость.

Все выше, верно?и можно ли это сделать?

Ответы [ 2 ]

0 голосов
/ 08 марта 2012

Лучше выделить это в объект доступа к данным.Код не распространяется, легко тестируется (покрытие кода) и может использоваться повторно даже в других проектахИспользование синглтона и помещение его в appDelegate имеет смысл в большинстве случаев

0 голосов
/ 08 марта 2012

Да, это хорошая идея, чтобы отделить код хранения данных от кода пользовательского интерфейса. Я склонен использовать одноэлементный класс , например, для управления данными для приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...