我正在制作一个简单的RSS提要iPhone应用程序,我遇到了这个:
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
if ([stories count] == 0)
{
NSString * path = @"myfeedURL.rss";
[self parseXMLFileAtURL:path]; <-------Error Here
}
}
答案 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 *。