[решено] tableView.reloadData() автоматически


#1

Подскажите, пожалуйста, каким образом можно реализовать tableView.reloadData() каждую минуту? и вредно ли это вообще … мне нужно, чтобы если приложение открыто, то чтобы обновились ячейки.


#2

недавно только кто-то интересовался этим вопросом тут на форуме. поищите, там был ответ от администратора.


#3

Да, вот здесь Обновление данных в TableView каждые 15 секунд. Но судя по всему это что-то другое + у меня не заработало ((


#4

Значит вы что-то сделали не правильно, т.к. в теме отписали что все работает.


#5

Нашла ошибку с самим обновлением, работает каждые 10 секунд, но вот сам tableView.reloadData() не обновляет ((

class ViewController: UIViewController {
    
    var myTimer: Timer!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        self.myTimer = Timer(timeInterval: 60.0, target: self, selector: #selector(refresh), userInfo: nil, repeats: true)
        RunLoop.main.add(self.myTimer, forMode: .default)
    }
    
    @objc
    func refresh() {
        tableView.reloadData()
    }
}

#6

как вы это проверили? что должно было случиться?


#7

Разобралась, у меня обновления не подгружались на основании которых вносились изменения в твью. Вы, как всегда, навели на толковую мысль) спасибо!!! :hugs:


#8

Вопрос, а это не сильно плохо, если каждую минуту сперва запрос к корДате, на наличие изменений, а потом релоад на основании этих изменений, если они есть?

Я вот думаю, это же работает только когда приложение открыто, тогда даже каждую секунду не тяжело будет запросы обрабатывать, а когда приложение свернуто, оно же не будет работать, так ведь?

по тестам ни оперативную память, ни процессор вообще не нагружает, даже если каждую секунду запросы делать…


#9

если каждую секунду делать обновления, юзер не сможет таблицей нормально пользоваться
учитесь думать о юзере, ему должно быть все понятно и легко


#10

что именно вы имеете ввиду?


#11

в первую очередь нужно думать о UX (user expirience), вы же делаете приложение для пользователей


#12

блин, иногда я готова убить кого-нибудь … а не UX


#13

А чем NSFetchResultController не устроивает? Я так понял, что работа идет с CoreData, фетч ризалт сам следит за обновлениями данных и подгружает их в таблицу. А вы тут таймер повесили. Не стоит изобретать велосипед, когда эпл вам предоставила прекрасный инструмент для этого


#14

О, спасибо, буду разбираться, у меня просто опыта меньше месяца, поэтому я не всё догоняю ещё и не знаю где что есть и как) Спасибо