我使用來自https://github.com/nicklockwood/XMLDictionary的XMLDictionary解析xml字符串。 我有這樣的代碼:爲什麼在NSRangeException中崩潰?
NSURL *URL = [[NSURL alloc] initWithString:[self.rssFeed objectAtIndex:i]];
NSString *xmlString = [[NSString alloc] initWithContentsOfURL:URL encoding:NSUTF8StringEncoding error:NULL];
NSDictionary *xmlDoc = [NSDictionary dictionaryWithXMLString:xmlString];
NSMutableArray *aux = [[NSMutableArray alloc]initWithArray:[[xmlDoc valueForKey:@"channel"]valueForKey:@"item"]];
並且在該行崩潰:
NSString *xmlString = [[NSString alloc] initWithContentsOfURL:URL encoding:NSUTF8StringEncoding error:NULL];
與此錯誤:
Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 5 beyond bounds for empty array'
有人有什麼想法?好奇:每次運行此代碼時,應用程序都不會崩潰。 這部分方法是performSelectorInBackground。我認爲這是一個值改變
研究錯誤消息,嘗試找出它應用於應用程序崩潰的行的含義。如有必要,請諮詢您不明白的部分。在該行添加一個斷點並檢查變量值。如有必要添加日誌語句。你真的需要能夠理解Objective-C錯誤消息和調試問題。 – zaph