Обновить / перезагрузить представление после синхронизации в Интернете - PullRequest
1 голос
/ 02 августа 2010

Я пишу приложение для iPhone, которое периодически синхронизируется с веб-сервисом синхронизации. Все работает нормально, но, к сожалению, после синхронизации пользователь не видит никаких изменений в представлении, если он посетил его ранее.

Мне нужно принудительно перезагрузить / обновить некоторые представления. Как я могу сделать это, например, с помощью метода viewWillAppear?

Я пробовал что-то подобное в одном из моих контроллеров представления:

-(void) viewWillAppear:(BOOL)animated   
{
        NSArray* sbw = [self.view subviews];

        UIView* view;
        for (view in sbw) 
        {
            [view setNeedsDisplay];
        }

        [self.view setNeedsDisplay];
        [super viewWillAppear];

    }

Но подпредставления не освежают. Есть ли способ заставить перезагрузить / обновить представление?

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

Ответы [ 2 ]

1 голос
/ 13 января 2011

Вы можете написать метод "viewWillAppear", в котором вы можете написать свой код для перезагрузки, который может взять данные из вашей базы данных. Этот метод будет выполняться всякий раз, когда представление начнет загружаться.

1 голос
/ 03 августа 2010

в таблицах вы можете использовать: [tableView reloadData]; для перезагрузки содержимого таблиц.Если вы просто хотите обновить содержимое просмотров, вы можете просто изменить его.Допустим, если у вас есть класс представления и класс контроллера MyUIView, MyUIViewController и MyUIView содержат UILabel * myLabel, вы можете изменить текст метки внутри контроллера следующим образом:нет необходимости в принудительном обновлении.

...