Возможный дубликат:
Как узнать, видимо ли представление UIViewController
Я разрабатываю приложение, которое обрабатывает постоянный поток входящих данных из сети и предоставляет пользователю различные виды UIView для просмотра этих данных.
Когда некоторые данные модели обновляются на основе входящего потока из сети, я обращаюсь к соответствующему UIViewController или UITableViewController и do -setNeedsDisplay на нем (в случае UIViewController) или -reloadData (в случае UITableViewController).
Есть ли способ проверить, отображается ли данный UIView в настоящее время (кроме того, что он загружается), так что я только делаю -setNeedsDisplay или -reloadData, если пользователь в настоящее время смотрит на этот UIView? Казалось бы, вызов -setNeedsDisplay или reloadData в представлении, которое пользователь в настоящее время не смотрит, является пустой тратой вычислительной мощности и не будет полезен для работы от батареи. Когда пользователь в конечном итоге переключается на представление, которое ранее было обновлено, выполнение -setNeedsDisplay или reloadData в -viewWillAppear будет иметь больше смысла.
Спасибо