Я разрабатываю приложение для учебных целей. Это синтаксический анализатор, использующий NSXMLParser. Почти все выполняется, за исключением настойчивости. Я изучил архивирование и реализовал его в своем проекте, но чтобы перейти к лучшему решению и улучшить свою квалификацию, я решил перенести свое приложение в Core Data.Основы моделирования данных ядра
Ниже мой синтаксический анализатор. FeedChannel обрабатывает атрибут канала внутри фида feedburner, а также захватывает «элементы», которые обрабатывает файл FeedItem.
FeedChannel.h
#import <Foundation/Foundation.h>
@interface FeedChannel : NSObject <NSXMLParserDelegate> {
NSMutableArray *items;
NSMutableString *currentString;
}
@property (nonatomic, assign) id parentParserDelegate;
@property (nonatomic, retain) NSString *title;
@property (nonatomic, retain) NSString *sDescription;
@property (nonatomic, readonly) NSMutableArray *items;
@end
FeedItem.h
#import <Foundation/Foundation.h>
@interface FeedItem : NSObject <NSXMLParserDelegate> {
NSMutableString *currentString;
}
@property (nonatomic, assign) id parentParserDelegate;
@property (nonatomic, retain) NSString *title;
@property (nonatomic, retain) NSString *link;
@property (nonatomic, retain) NSString *creator;
@property (nonatomic, retain) NSString *pubDate;
@property (nonatomic, retain) UIImage *thumbnail;
@end
Я пытался узнать CoreData, но для новых программистов, это немного сложнее, по-видимому.
В настоящее время я сделал то, что я добавил инфраструктуру CoreData в свой проект, создал файл модели, добавил два объекта с именем FeedChannel и FeedItem. Я не знаю, как это сделать:
1) Должен ли я использовать «Создать управляемый подкласс» в Xcode для перезаписывания существующих файлов или просто указать имя класса в модели данных для каждой записи в панель инспектора или оба подхода одинаковы?
2) Если я использую «Создать управляемый подкласс», он также использует динамический синтез, а я не знаю, влияет ли он на мой проект или нет.
3) Как обрабатывать атрибут миниатюр, поскольку в модели данных основных данных существует тип UIImage.
и самый важный вопрос:
4) Как обращаться с NSMutableArray «пунктов» в файле FeedChannel, который держит элементы в FeedItem? Нужно ли мне каким-то образом наладить отношения «один ко многим»?
Надеюсь, он ответит на весь основной вопрос, связанный с основными данными, с которыми сталкиваются новички. Заранее спасибо.
Использование преобразуемого типа для изображений, мне нужно использовать «id» в управляемом подклассе или UIImage? поскольку я вручную создаю подклассы вместо использования встроенных опций «создать управляемый подкласс». Также добавьте ссылки на учебные пособия и книги, которые вы упомянули. Спасибо – Jessica
Последнее, что вы объяснили, трудно понять. Сначала вы сказали создать отношения «многие», и вы сказали создать «один». Можете ли вы сказать, как это сделать? Спасибо – Jessica
Это будет 'id', а не UIImage. Core Data распознает только типы данных, которые вы можете выбрать в редакторе модели данных. Все остальное должно быть общим. Это не идеально, потому что вы случайно можете передать другой тип объекта в свойство без предупреждения компиляции, но так оно и работает (пока). –