2013-02-11 82 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

儘量避免任何自我聲明的變量/屬性命名描述。 我有一個奇怪的錯誤,因爲這覆蓋了默認描述(每個對象都有)。