在 xCode 中构建和运行我的项目时出现此错误:
RootViewController
可能无法响应 -parseXMLFileAtURL:
我正在尝试根据以下教程开发基本的 Apple RSS 阅读器:
http://gigaom.com/apple/tutorial-build-a-simple-rss-reader-for-iphone/
发生此错误的我的代码部分如下所示:
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
if ([stories count] == 0)
{
NSString * path = @"http://feeds.feedburner.com/TheAppleBlog";
[self parseXMLFileAtURL:path];
}
cellSize = CGSizeMake([newsTable bounds].size.width, 60);
}
有人能解释一下为什么这个 parseXMLFileAtURL
命令让人如此心痛吗?
谢谢
已更新***
我还在同一个文件中定义了parseXMLFileAtURL
;但是,我将这部分代码放在了 viewDidAppear 方法之后(我的错)。因此,当我更改方法的顺序时,错误就会消失。但是当我这样做时,我收到另一个错误,也许你们也可以帮助解决这个错误!这是:
类RootViewController
未实现NSXMLParserDelegate
协议(protocol)
在这部分代码中:
- (void)parseXMLFileAtURL:(NSString *)URL
{
stories = [[NSMutableArray alloc] init];
NSURL *xmlURL = [NSURL URLWithString:URL];
rssParser = [[NSXMLParser alloc] initWithContentsOfURL:xmlURL];
[rssParser setDelegate:self];
[rssParser setShouldProcessNamespaces:NO];
[rssParser setShouldReportNamespacePrefixes:NO];
[rssParser setShouldResolveExternalEntities:NO];
[rssParser parse];
}
错误发生在以下行之后:[rssParser setDelegate:self];
- 这可能是什么问题?
最佳答案
关于您的第二个问题,RootViewController
不符合 NSXMLParserDelegate
协议(protocol)。只需将其添加到您的 RootViewController.h
文件中即可:
@interface RootViewController : UIViewController <NSXMLParserDelegate> { .....
关于Objective-C 'RootViewController' 可能无法响应 xCode 中的 '-parseXMLFileAtURL:' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4026390/