2016-04-25 15 views
-4

テーブルビューに新しい項目が表示されるはずですが、セルを適切にリロードしていないようです。Swift 2リフレッシュテーブルの表示内容

func refresh(sender:AnyObject) { 
    page = 1 
    self.data_request() 
} 


func data_request(){ 
    let user_id = Data[0].valueForKey("user_id") as? String! 

    let url:NSURL = NSURL(string: "http://..../perspective/\(user_id!)/page/"+"\(page)")! 

    let session = NSURLSession.sharedSession() 
    self.page = self.page + 1 


    let request = NSMutableURLRequest(URL: url) 
    request.HTTPMethod = "GET" 
    request.cachePolicy = NSURLRequestCachePolicy.ReloadIgnoringCacheData 


    let task = session.dataTaskWithRequest(request) { 
     (let data, let response, let error) in 

     guard let _:NSData = data, let _:NSURLResponse = response where error == nil else { 
      print("error") 
      return 
     } 

     var json: AnyObject? 

     do { 
      json = try NSJSONSerialization.JSONObjectWithData(data!, options: []) 
     } 
     catch { 
      return 
     } 

     guard let data_array = json as? NSArray else { 
      return 
     } 

     for i in 0..<data_array.count 
     { 
      if let add = data_array[i] as? NSDictionary 
      { 
       self.obj.append(Obj(data:add)) 
      } 
     } 

     dispatch_async(dispatch_get_main_queue(), {() -> Void in 
      self.tableView.reloadData() 
     }) 
    } 
    task.resume() 
} 

セルを更新しません。

そして、それはそのようにスティック、データ

enter image description here

+3

あなたは何を意味DODは動作しませんか? 'refresh()'が呼ばれたら?次に 'data_request()'? – Larme

+0

なぜdispatch_asyncでテーブルビューをリロードしていますか?あなたはそれなしで試しましたか? –

+2

@ tmac99あなたの質問は何ですか?私は最良の選択肢は、この質問を削除し、あなたが実際に尋ねたいものを考えていると思います。あなたが知っているすべての情報を質問に含めてください。ここを見てくださいhttp://stackoverflow.com/help/how-to-ask – Fogmeister

答えて

0

をロードせずに、私はこれをuを助けることを願って、テーブルビューを再ロードするためのコードの下に適用します。

dispatch_sync(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), {() -> Void in 

     self.tableView.reloadData()      
}) 

OR

dispatch_sync(dispatch_get_main_queue(), {() -> Void in 

     self.tableView.reloadData() 
}) 
+0

私はすでにdata_request()にそれを持っていますか? – tmac99

+0

@ tmac99私は同期よりも非同期の方法があると思います。右?しかし、このシンクメソッドを試してみましたか? –

+0

それは "リフレッシュするためにプル"に固執する – tmac99

関連する問題