如何解决'RootViewController'可能无法响应Xcode 3.2.3中的'-parseXMLFileAtURL:'

时间:2010-08-21 03:57:50

标签: iphone xcode rss

我正在制作一个简单的RSS提要iPhone应用程序,我遇到了这个:

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];

    if ([stories count] == 0)
    {
        NSString * path = @"myfeedURL.rss";
        [self parseXMLFileAtURL:path]; <-------Error Here
    }
}

1 个答案:

答案 0 :(得分:2)

该方法在使用后定义。 Objective-C编译器是一次通过的,因此它还没有parseXMLFileAtURL:的声明。我提出了三种解决方法:

在使用之前定义它:

-(void)parseXMLFileAtURL:(...)... {
  ...
}

-(void)viewDidAppear:(BOOL)animated {
  ...
}

坚持标题:

@interface RootViewController ...
...

-(void)parseXMLFileAtURL:(...)...;

@end

或者坚持“课程延续”:

@interface RootViewController()
-(void)parseXMLFileAtURL:(...)...;
@end

@implementation RootViewController
...

类连续对于“私有”方法/属性和协议之类的东西很有用 - 你可以@interface Foo()<BarDelegate>来避免标题意大利面。

编辑:并且该方法的名称表明它需要NSURL *,但您传递的是NSString *。我要么将其更改为“URLString”,要么将其改为NSURL *。