В моем социальном приложении у меня есть экран «Home», на котором есть tableView, который содержит до трех разных ячеек! Затем я реализую метод источника данных didSelect, где я выполняю некоторые сравнения, чтобы определить, какую ячейку я только что выбрал ... (3 или 4 сравнения каждый раз). Для каждой ячейки, которую я выбираю, создается новый контроллер представления. фото презентация, еще одна для пользовательской презентации камеры и, наконец, для еще одной простой презентации View Controller ...View Controller не сразу отображается
Дело в том, что по необъяснимой причине, если я нажму кнопку iPhone домой, а затем снова открою приложение и отправлю его и выберите одну из этих ячеек, она занимает до 7 секунд, пока не появится контроллер вида! Затем, если я отклоню этот контроллер, вернитесь в «Главная» и выберите другую ячейку, все в порядке!
Есть ли у кого-нибудь идеи, что может произойти?
Edit:
if currentArea != "Somewhere" {
if gettingContent == false && objectsArray.count == 0 {
if firstOfLocalLeaderboard != nil {
if indexPath.row == 0 {
let vc = self.storyboard!.instantiateViewController(withIdentifier: "TopTenAreaController") as! TopTenAreaController
vc.area = currentArea
let navVC = UINavigationController()
navVC.viewControllers = [vc]
self.present(navVC, animated: true, completion: nil)
}
else if indexPath.row == 1 {
if localLeaderboard.count > 0 {
let vc = self.storyboard?.instantiateViewController(withIdentifier: "PhotoViewController") as! PhotoViewController
vc.objectsArray = localLeaderboard
vc.currentArea = currentArea
let navVC = UINavigationController()
navVC.viewControllers = [vc]
self.present(navVC, animated: true, completion: nil)
}
else {
let vc = self.storyboard!.instantiateViewController(withIdentifier: "CameraViewController") as! CameraViewController
vc.appearedFromHome = true
let navVC = UINavigationController()
navVC.viewControllers = [vc]
self.present(navVC, animated: true, completion: nil)
}
}
}
else {
if indexPath.row == 0 {
if localLeaderboard.count > 0 {
let vc = self.storyboard?.instantiateViewController(withIdentifier: "PhotoViewController") as! PhotoViewController
vc.objectsArray = localLeaderboard
vc.currentArea = currentArea
let navVC = UINavigationController()
navVC.viewControllers = [vc]
self.present(navVC, animated: true, completion: nil)
}
else {
let vc = self.storyboard!.instantiateViewController(withIdentifier: "CameraViewController") as! CameraViewController
vc.appearedFromHome = true
let navVC = UINavigationController()
navVC.viewControllers = [vc]
self.present(navVC, animated: true, completion: nil)
}
}
}
}
Можете ли вы опубликовать код, чтобы показать соответствующий 'метод didSelectRow', а также ваш' prepareForSegue'. – Rikh
Вы что-то делаете в фоновом потоке? – Honey
@Rikh Смотреть обновленный код –