我正在制作一个简单的 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
...
类延续对于诸如“私有(private)”方法/属性和协议(protocol)之类的东西很有用 - 你可以这样做 @interface Foo()<BarDelegate>
以避免标题意大利面条。
编辑: 该方法的名称表明它需要一个 NSURL*,但您要传递一个 NSString*。我要么将其更改为“URLString”,要么使其采用 NSURL*。
关于iphone - 如何解决 'RootViewController' 在 Xcode 3.2.3 中可能无法响应 '-parseXMLFileAtURL:',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3536246/