2016-04-02 12 views
0

からライブである場合にのみ、テーブルビューがロードされは、データソースが、私は少しこだわっているWebホスト

Storyboard View Controller

以下のように、私はImageViewのとのUIViewController、ラベルボタンとのUITableViewの下を持ってuitableのデータをロードサイトが生きているときにうまく動作するデータのウェブサイトを解析することによって使用しますが、それはいつも生きていません。だから、オンラインではないときは、プッシュ型VCからビューコントローラを読み込んで、空のテーブルを表示しますが、テーブルは空ではありませんが、ビューには重要ではありませんが、オフラインの読み込みと解析サイト。だから私の質問は、この問題に近づける最善の方法はどのようにするか、ビューが読み込まれた後にテーブルビューにデータを読み込ませる方法です。サイトを解析します。

は、私はVCの閲覧負荷に到達可能性を試してみた: はviewDidAppear & reloadTableview および多くの他にテーブルビューアレイを充填、それらはすべて、私のとりとめを読む時間を取るため望ましくない影響

感謝を持っているように見えます。

+3

凍結を回避するための標準的なアプローチは、フェッチ/パースされた後、サーバーのデータを取得し、UIを更新するために、メインスレッドに切り替えるために、バックグラウンドスレッドを使用することです終了しました。 –

+0

ありがとう、私はしばらくの間、Obj-Cを使いました。 – gav

答えて

1

これは比較的簡単です.AFNetworkingやAlamofireのようなサードパーティのライブラリを見ても簡単ですが、標準NSURLSessionでも簡単に行うことができます。ここに私のプロジェクトの一つから関連するコードサンプルです:

NSURLSessionDataTask *dataTask = [[NSURLSession sharedSession] dataTaskWithURL:components.URL completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) { 
    if (error) 
    { 
     // Handle the error 
    } 
    else 
    { 
     NSError *jsonError = nil; 
     NSDictionary *result = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&jsonError]; 
     if (jsonError) 
     { 
      // Handle the error 
     } 
     else 
     { 
      // Here you can do whatever you want with the parsed data, and reload the tableview (remember, on the main thread) 
     } 
    } 
}]; 

[dataTask resume]; 
関連する問題