0

Instagramからデータを取得し、それを辞書に入れてから解析するプログラムがあります。

そのデータを使おうとすると問題が始まり、魔法のようにアイテム番号0がプログラムをクラッシュさせます。

また、特定の数の後、次の項目もプログラムをクラッシュさせます。

これは、配列/辞書からテキストを取得してセルに配置するUITableViewCellのコードです。見た目はクラッシュします。1番から始めるために別のチェックを追加すると機能しますが、後でカウントに達するとクラッシュします。TableViewにテーブル内の行数を通知するメソッドがあり、[self.loader.dataArray count]を返すため、これが発生する理由がわかりません。そのため、次のようなものを読み込もうとしない可能性があります。立入禁止で。

if (self.loader.dataArray[indexPath.row] != nil )
    {
    cell.textLabel.text = [[[self.loader.dataArray[indexPath.row] objectForKey:@"caption"] objectForKey:@"from"] objectForKey:@"full_name"];
    }

これが私が得ているエラーです:

instagramClient [8254:907] *キャッチされなかった例外'NSInvalidArgumentException'が原因でアプリを終了しています、理由:'-[NSNull objectForKey:]:認識されないセレクターがインスタンス0x3bb8f090に送信されました'

4

1 に答える 1

5

NSNull取得している例外は、範囲外の問題を示しているわけではありません。これはdataArray、辞書の1つの「caption」オブジェクトdataArrayまたは1つの「from」オブジェクトに含まれていることを示します。それらの辞書のなど)。self.loader.dataArrayそのアレイの更新を取得したら、すべてログに記録して、NSNullオブジェクトが含まれているかどうかを確認してください。

于 2013-03-26T14:42:14.180 に答える