0
Je dois tirer pour rafraîchir fonctionnant bien, sauf lorsque la table recharge il ya un délai de fraction de seconde avant que les données dans la table se recharge.Tirer pour rafraîchir: l'actualisation des données est retardée
Est-ce que j'ai juste une petite chose qui ne va pas? Des idées?
viewDidLoad
:
override func viewDidLoad() {
super.viewDidLoad()
self.refreshControl?.addTarget(self, action: "handleRefresh:", forControlEvents: UIControlEvents.ValueChanged)
self.getCloudKit()
}
handleRefresh
pour Pull à Actualiser:
func handleRefresh(refreshControl: UIRefreshControl) {
self.objects.removeAll()
self.getCloudKit()
dispatch_async(dispatch_get_main_queue(), {() -> Void in
refreshControl.endRefreshing()
})
}
besoin des données en deux endroits, donc créé une fonction pour elle getCloudKit
:
func getCloudKit() {
publicData.performQuery(query, inZoneWithID: nil) { results, error in
if error == nil { // There is no error
for play in results! {
let newPlay = Play()
newPlay.color = play["Color"] as! String
self.objects.append(newPlay)
}
dispatch_async(dispatch_get_main_queue(), {() -> Void in
self.tableView.reloadData()
})
} else {
print(error)
}
}
}
tableView
:
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("reuseIdentifier", forIndexPath: indexPath)
let object = objects[indexPath.row]
if let label = cell.textLabel{
label.text = object.matchup
}
return cell
}
Vous ne devez pas appeler 'endRefreshing' avant d'appeler' reloadData' dans le bloc d'envoi – Paulw11
@ Paulw11 Merci pour la réponse! Je pense que cela a du sens maintenant. Mais comment ferais-je cela dans le code que j'ai, parce que je ne voudrais pas mettre 'endRefreshing' dans ma fonction' getCloudKit' (parce que j'ai juste besoin d'utiliser 'endRefreshing' pour Pull To Refresh pas' viewDidLoad')?)? – SRMR
Vous pouvez appeler endRefreshing indépendamment. Si le contrôle, n'est pas dans l'état de rafraîchissement, il va simplement l'ignorer – Paulw11