2013-02-11 62 views
0

下面是我的项目类中的方法,它包含我的解析器。这个方法是由我的viewController召唤的。iOS解析:字符串为空

- (NSString*)img 
{ 
if (img!=nil) return img; 
    if (_description!=nil) 
    { 
// NSString* description = [NSString stringWithString:_description]; 
htmlParser = [[HtmlParser alloc] InitHtmlByString:_description]; 
    } 
return img; 
} 

这里是我的解析器的init()方法...

- (HtmlParser *) InitHtmlByString:(NSString *)htmlString { 

NSString *description = currentHTMLElement.description; 
NSLog(@"%@", description); 
NSData *nsData = [[NSData alloc] initWithContentsOfFile:(NSString *)description]; 
elementArray = [[NSMutableArray alloc] init]; 

parser = [[NSXMLParser alloc] initWithData:nsData]; 
parser.delegate = self; 
[parser parse]; 

currentHTMLElement = [ArticleItem alloc]; 
        return self; 
} 

现在我得到这样的输出:

013-02-11 15:26:18.564 DrillDownRSS [9251 :C07](空)

2013年2月11日15:26:18.612 DrillDownRSS [9251:C07](空)

2013年2月11日15时26分: 18.662 DrillDownRSS [9251:C07](空)

2013年2月11日15:26:18.695 DrillDownRSS [9251:C07](空)


这里是溶液,由于下面的评论的深思熟虑的建议。

// NSString *description = [NSString string]; 
NSData *nsData = [[NSData alloc] initWithContentsOfFile:(NSString *)string]; 
elementArray = [[NSMutableArray alloc] init]; 

parser = [[NSXMLParser alloc] initWithData:nsData]; 
parser.delegate = self; 
[parser parse]; 
NSLog(@"%@", string); 

currentHTMLElement = [ArticleItem alloc]; 
        return self; 
+1

这可能没有关系,但我只是好奇为什么'htmlString'作为参数传入但没有用到任何地方。 – yeesterbunny 2013-02-11 21:55:21

+0

谢谢,那帮了我。 – Morkrom 2013-02-11 22:17:07

回答

1

尽量避免任何自我声明的变量/属性命名描述。 我有一个奇怪的错误,因为这覆盖了默认描述(每个对象都有)。