Objective-C 'RootViewController' 可能无法响应 xCode 中的 '-parseXMLFileAtURL:' 错误

标签 objective-c cocoa xml-parsing

在 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/

相关文章:

ios - 是否可以不重用 UITableView 中的特定单元格?

ios - 如何隐藏条形按钮项目

python - 如何将 xml 输出写入文件

c# - 使用 XDocument.Load(xmlreader) 方法?

iphone - 在 UIScrollView 中添加 10 个不同的 UIImage

ios - 将保留的对象分配给不安全的属性

objective-c - addObjectsFromArray 与 mutableCopy

xcode - Info.plist 文件丢失/无法从我的 Cocoa 项目中设置和检索 CFBundleVersion

cocoa - 如何从 Interface Builder 与自定义控件进行绑定(bind)?

java - XML 解析器 + 索引数据