1

ネットワークタスクにGCDを使用しています。サーバーからデータをロードするテーブルビューコントローラーがありますが、このコントローラーを離れて別のビューコントローラーを起動すると、アプリケーションがクラッシュします。この問題の解決策が見つかりません。サーバーからの応答は、テーブル ビューのデータ ソースである NSArray です。応答を取得したら、コントローラーにデータ ソース プロパティを設定します。セッターをオーバーライドして、現在のビューがテーブル ビューであるかどうかを確認し、テーブル ビューである場合はテーブルをリロードします。私はこれに間違って近づいていますか?

ありがとう

4

1 に答える 1

0

エラーはさまざまな場所にある可能性があるように聞こえます。私のアドバイスは、問題を徐々に小さな部分に分解することです。これは必ずしも速くて簡単ではありません。しかし、あなたは問題を見つけるでしょう(そしてその過程で多くを学びます)。

最初のステップとして、ネットワークからのデータをいくつかのローカルデータに置き換えてみてください。それでも問題が解決しない場合は、ネットワーク応答を処理するコードを除外できます。

または、別の方法を使用することもできます。リクエストで返されたデータを調べるだけです。アプリに渡さないでください。おそらく、応答に空の、不適切にフォーマットされたなどのデータに気付くでしょう。

注:サーバーがを返しているとは思いませんNSArray。区別が明確であることを確認してください(おそらく、jsonフォーマットされたデータを受け取り、それを解析しているでしょう)。

于 2012-04-11T00:29:40.067 に答える