2016-08-25 1 views
0

Je travaille sur l'application client-serveur. J'envoie une requête, après avoir reçu une réponse allant au thread backgound pour analyser les données, après toutes les données analysées, je vais aller au thread principal. Toutes les données écrites dans la transaction de domaine existent dans le thread d'arrière-plan mais dans le thread principal, elles sont vides. cela fait partie de mon code: au début, j'ai 20 objetsRoyaume avec GCD en utilisant

Alamofire.request(.GET, urlRequest).responseJSON(completionHandler: { response in 
     guard let dictionary = response.result.value as? [String : AnyObject] 
      else { 
       completion(response: false) 
       return 
     } 
     if dictionary["status"] != nil { 
      completion(response: false) 
     } 
     dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), { 
      print("\(NSDate()) start parse feeds with offset") 
      self.parseArticle(dictionary, data: []) 
      print("\(NSDate()) finish parse feeds with offset") 
      UserSession.feedsLoaded = true 
      //here I have 40 objects 
      dispatch_async(dispatch_get_main_queue(), { 
       //here I have again 20 objects, which I had at start 
       completion(response: true) 
      }) 
     }) 
    }) 


    func parseArticle(dictionary : [String : AnyObject], data : [String]) { 
    var startData = data 
    var endData : [String] = [] 
    let realm = try! Realm() 
    let _ = try? realm.write() {here is the code of my parser}} 

Le problème que les données en fil de commited arrière-plan ne figure pas dans domaine dans thread principal, comment puis-je gérer?

+0

quelle est la question? s'il vous plaît mettre à jour votre poste – UmNyobe

+0

la question est, où sont les données ajoutées au domaine? –

Répondre

1

Voir les documents de Realm au Seeing Changes from Other Threads.

Vous devrez appeler Realm.refresh() ou attendre la prochaine itération de cycle de fonctionnement si autorefresh est true pour voir les changements dans votre fil principal.

+0

Merci, ça marche –