2016-09-21 5 views
1

テーブルビューを下にスクロールすると、サーバーから新しいコンテンツを取得しています。データは取得されますが、UIでは更新されません。私はブレークポイントを配置し、配列が含まれていることを確認したが、UIではなく、必要に応じて更新されます。UITableView下からスクロールするときのデータを更新する

func scrollViewDidScroll(scrollView: UIScrollView) { 
    let contentOffset = scrollView.contentOffset.y 
    let maximumOffset = scrollView.contentSize.height - scrollView.frame.size.height; 

    if !isLoadingMore && (Double(maximumOffset) - Double(contentOffset) <= threshold) 
    { 
     loadData(typeInString, start: start, userId: "", lat: "", long: "") 
     self.isLoadingMore = true 

     // Update UI 
     dispatch_async(dispatch_get_main_queue()) { 
      self.tableView.reloadData() 
      self.isLoadingMore = false 
     } 
    } 
} 



func loadData(type: String, start: Int, userId: String, lat: String, long: String) { 
     Alamofire.request(.GET,Pagination.toGetUrl(type, start: start, userId: userId, lat: "",long: "")) 
     .responseJSON { response in 
      print(response.0?.URLString) 
      if (response.2.value != nil){ 
       if let json: JSON = JSON(response.2.value!){ 
        if !json["error"].boolValue{ 

         if json["data"].count == 0 { 
          self.checkData = false 
         } 
         print("#$#$#$#$") 
         print(json) 
         print("#$#$#$#$") 

         if type == "users"{ 
          for (_, subjson):(String, JSON) in json["data"]{ 
           self.imagesURL.append(subjson["profile_image_url_small"].stringValue) 
           self.userName.append(subjson["name"].stringValue) 
          } 

         } 
        } 
       } 
      } 

    } 

答えて

0

非同期のloadData要求を作成し、すぐにテーブルビューを再ロードします。そして要求が完了してからしばらくしてからデータが更新され、何も起こりません。要求が完了した後ではなく、テーブルビューをリロードする必要があります。

...... 
if type == "users"{ 
    for (_, subjson):(String, JSON) in json["data"] { 
     self.imagesURL.append(subjson["profile_image_url_small"].stringValue) 
     self.userName.append(subjson["name"].stringValue) 
    } 
} 

// Update UI 
dispatch_async(dispatch_get_main_queue()) { 
    self.tableView.reloadData() 
    self.isLoadingMore = false 
} 
...... 
+0

試しましたが、まだ 'TableView'は更新されていません。 – Nitesh

関連する問題