如果你實例TBXML你可以嘗試在@try/@catch
塊包裝它錯誤的從線來:
TBXML *tbxml = nil;
@try {
tbxml = [[TBXML tbxmlWithURL:[NSURL URLWithString:@"http://localhost/dev/mcomm/produto.xml"]] retain];;
}
@catch (NSException *exception) {
NSLog(@"Caught %@: %@", [exception name], [exception reason]);
}
另外,使用NSURLConnection的單獨下載的XML數據,並使用NSURLConnection的的委託方法處理錯誤情況。成功時,將結果數據傳遞給構造函數,如tbxmlWithXMLData:
。
編輯:你已經評論說,導致問題的路線是:
TBXMLElement * xmlElement = aParentXMLElement->firstChild;
你得到的錯誤是因爲你想取消引用空指針(aParentXMLElement
是零,並呼籲->someMethod
在它上面解除引用)。所以你需要的是在你試圖解引用它之前有一個guard子句來檢查aParentXMLElement是否爲非null。像這樣的事情:
if (aParentXMLElement != nil) {
TBXMLElement * xmlElement = aParentXMLElement->firstChild;
} else {
NSLog(@"Can't proceed: aParentXMLElement is nil");
}
嘿,我試了一試,但沒有運氣。和控制檯不提供任何東西。 – 2010-11-08 14:48:46
這就是導致錯誤的那條線?而不是,例如,當它沒有一個時,在'tbxml'上調用'.rootXMLElement'? – 2010-11-08 15:12:55
我正在調試,並且調試器顯示給我這一行:TBXMLElement * xmlElement = aParentXMLElement-> firstChild; – 2010-11-08 15:30:31