Как решить ошибку display_timer_callback в XCode при выполнении сетевого вызова? - PullRequest
1 голос
/ 07 июля 2019

Я получаю сообщение об ошибке в консоли XCode, которого у меня никогда не было раньше. Это происходит, когда я прокручиваю свой tableView (когда я попадаю в конец списка, он вызывает метод loadMoreRecipe(), который делает сетевой вызов, чтобы получить больше результатов, ошибка появляется не при каждом вызове, а скорее случайно), но я не сделал этого. Не меняйте важный код.

Вот ошибка, о которой идет речь:

2019-07-07 22: 10: 57.586543 + 0200 P10_Reciplease [6188: 2107230] [WindowServer] display_timer_callback: неожиданное состояние (сейчас: 50d5cc1f65a <ожидаемое: 50d5cc80a6c) </p>

func loadMoreRecipes(indexPath: Int) {
    print(indexPath + 1)
    guard indexPath == hits.count - 1 else { return }
    guard let apiHelper = apiHelper else { return }
    print("le nombre total de recette est : ", hits.count)
    apiHelper.from = hits.count + 1
    apiHelper.to = apiHelper.from + 10

    startAnimatingActivityIndicator()

    apiHelper.getRecipe(userIngredients: userIngredients, callback: { [weak self] (apiResult, statusCode)  in
        guard let apiResult = apiResult else {

            apiHelper.from = self?.hits.count ?? 0
            apiHelper.to = apiHelper.from + 10

            self?.switchStatusCode(statusCode: statusCode)

            if let apiHelper = self?.apiHelper {
                apiHelper.from = self?.hits.count ?? 0
                apiHelper.to = apiHelper.from + 10
            }
            self?.stopAnimatingActivityIndicator()
            return
        }
        guard !apiResult.hits.isEmpty else {
            self?.parent?.presentAlert(titleAlert: .sorry, messageAlert: .noOtherRecipesFound, actionTitle: .ok, statusCode: nil, completion: nil)
            if let apiHelper = self?.apiHelper {
                apiHelper.from = self?.hits.count ?? 0
                apiHelper.to = apiHelper.from + 10
            }
            self?.stopAnimatingActivityIndicator()
            return
        }
        self?.stopAnimatingActivityIndicator()
        self?.hits.append(contentsOf: apiResult.hits)
        self?.tableView.reloadData()
    })
} 
...