[Cocoa] XMLの解析でエラーが出た件


twitterのタイムラインをNSXMLDocumentでパースして解析するプログラムを書いていたんだけど、1回目はうまく行くのに2回目以降に下のようなエラーがでて固まる。

*** -[NSCFArray objectAtIndex:]: index (0) beyond bounds (0)

いったいなんじゃこりゃ?と思っていたけど、何のことは無い、タイムラインに新しい投稿が無かったためにXMLの内容が無く、パースに失敗していたのだった。XMLを格納する配列に中身があるかどうかを確認して、解消された。

NSXMLDocument *document = [[NSXMLDocument alloc] initWithContentsOfURL:url    options:0 error:NULL];
NSArray *nodes = [document nodesForXPath:@"/feed/entry/id" error:NULL];
if([nodes count] > 0){
// この範囲に処理を書けばエラーでないよ!
}

先週からObjective-Cの勉強を始めたんだけど、デバッガの使い方がまだいまいち分からないんだよなぁ。

[Cocoa] XMLの解析でエラーが出た件」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です