我正在开发一个用于学习目的的应用程序。它是一个使用 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
饲料项目.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)Core Data的数据模型中有UIImage类型,如何处理缩略图属性。
最重要的问题:
4)如何处理FeedChannel文件中保存FeedItem中项目的NSMutableArray“项目”?我需要以某种方式建立一对多的关系吗?
希望它能回答新手面临的所有与核心数据相关的基本问题。提前致谢。