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

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

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

最佳答案

使用后定义该方法。 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 *。

关于iphone - 如何解析'RootViewController'可能不响应Xcode 3.2.3中的'-parseXMLFileAtURL:',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3536246/

10-10 20:24