Intereting Posts
Есть ли способ получить зарегистрированные схемы URL в iOS? Изменение содержимого содержимого UISCcrollView после появления клавиатуры что означает символ ^ в объективе-С? NSDateFormatter возвращает нулевые значения dateFromString: iPhone? Определить класс объекта, соответствующий протоколу? Получение недопустимой ошибки шестнадцатеричного символа при отправке уведомления Apple через мобильную первую платформу Как перевести viewWillLayoutSubviews в viewWillTransitionToSize Нужна помощь с RESTKit – BitCode и дублирующимися символами в iOS Где я могу получить категорию GGLContext + Analytics, необходимую для Google Analytics установите «Respect Language Direction» для NSLayoutConstraint кодом Swift: добавление слоя градиента к кнопке. Ошибка длины слоя AWS SNS – приложение платформы отключено Добавление аргументов в UIAlertAction Нужна помощь в автоаварии Как быстро сделать радиальные градиенты

Ячейка в UITableView не обновляется до тех пор, пока не будет выбран в iOS (быстрый)

Я разрабатываю приложение с Parse, у которого есть табличное представление с ячейками, содержащими ярлык, в котором есть общие друзья из Facebook, моя проблема в том, что все, что есть в таблице, отлично работает, но знак общих друзей, это занимает много времени, пока я не выберу строка (когда я выбираю строку, номер появляется сразу). Вот мой код для получения общих друзей и установки метки в ячейке:

let facebookContext = driverobj?.objectForKey("facebookContext") as! String let user: PFUser = PFUser.currentUser()! let access_token = user.valueForKey("authData")?.valueForKey("facebook")?.valueForKey("access_token") as! String let usercontexturl: NSURL = NSURL(string: "https://graph.facebook.com/\(facebookContext)/mutual_friends?access_token=\(access_token)")! let myrequest: NSURLRequest = NSURLRequest(URL: usercontexturl) let mysession = NSURLSession.sharedSession() let task = mysession.dataTaskWithRequest(myrequest) { data, response, error in print("Task completed") do { let jsonresult = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers) cell.mutualFriendsLabel?.text = (jsonresult.valueForKey("summary")?.valueForKey("total_count"))!.stringValue + " Mutual Friends" } catch { print(error) } } task.resume() 

Этот код находится внутри метода cellForRowAtIndexPath и метод didSelectRowAtIndexPath пуст.

Блок, переданный в dataTaskWithRequest , вероятно, не выполняется в основном потоке, который может вызвать появление этих типов симптомов. Попробуйте выполнить обновление пользовательского интерфейса в основном потоке, например:

 dispatch_async(dispatch_get_main_queue()) { cell.mutualFriendsLabel?.text = (jsonresult.valueForKey("summary")?.valueForKey("total_count"))!.stringValue + " Mutual Friends" } 

Я думаю, вам нужно обновить интерфейс в главной очереди следующим образом:

 dispatch_async_(your_queue) { task.response { //handle data dispatch_async(dispatch_get_main_queue()) { //update UI, etc. change label text } } }