2017-04-25 9 views
1

インデックスが範囲外であるため、リフレッシュ機能がアプリケーションをクラッシュさせていました。私は最初に私のリストを空にした後にreloadDataを追加しました。空のリストと塗りつぶしリストを最初にロードするので、今はリフレッシュするときにこのフリッカーが発生します。どこでリストを空にするか、どうやってちらつきを取り除くべきですか?テーブルを再ロードするために迅速3とXcode 8.2.1データの再読み込み時にテーブルを更新しているときに点滅する

func getData() 
{ 
    fetchedUsers.removeAll() 
    self.userTableView.reloadData() 

    //myphpfileurl 
    var request = URLRequest(url: URL(string: url)!) 
    request.httpMethod = "GET" 

    let configuration = URLSessionConfiguration.default 
    let session = URLSession(configuration: configuration, delegate: nil, delegateQueue: OperationQueue.main) 

    let task = session.dataTask(with: request) { (data, response, error) in 

     if (error != nil) { 
      print("Error") 
     } 
     else{ 
      do{ 
       let fetchedData = try JSONSerialization.jsonObject(with: data!, options: .mutableLeaves) as! NSArray 

       for eachFetchedUsers in fetchedData { 
        let eachUsers = eachFetchedUsers as! [String : Any] 
        let id = eachUsers["id"] as! String 
        let name = eachUsers["Nimi"] as! String 
        let email = eachUsers["Sahkoposti"] as! String 
        let company = eachUsers["Yritys"] as! String 

        self.fetchedUsers.append(Users(id : id, name: name, email : email, company: company)) 

       } 
       self.userTableView.reloadData() 
       self.refreshControl.endRefreshing() 
      } 
      catch{ 
       print("Error 2") 
      } 
     } 
    } 
    task.resume() 
} 
+0

'self.userTableView.reloadData() self.refreshControl.endRefreshing()' あなたが必要としてみてくださいMainThread 'DispatchQueue.main.async { self.userTableView.reloadData() self.refreshControl.endRefreshing() – dRAGONAIR

答えて

0

を使用してイムは、このように

DispatchQueue.main.async { 
     self.userTableView.reloadData() 
     self.refreshControl.endRefreshing() 
    } 
+0

}'に存在呼び出すために私はこれを追加しようとしたが、細胞彼らは最初に空になるようにちらつき続けている。私がself.userTableView.reloadData()を4行目で削除すると、何度もリフレッシュするとアプリがクラッシュします。 –

+0

@SimoKorpikoskiはrestus APIをsynchronusモードで呼び出します..make one関数は残りのapiのコードを実行し、viewdidloadからこの関数を呼び出します –

関連する問題