Я просто пытаюсь разобраться в модели событий Objective-C на iPhone, и, судя по всему, здесь я кое-что неправильно понял.
В целях эксперимента в методе -view контроллера -viewDidLoad я устанавливаю текст UILabel, затем сплю в течение двух секунд, а затем снова изменяю текст метки.
Мои ожидания следующие: на этикетке сначала будет написано «Первый текст», а через две секунды будет обновлено значение «Второй текст». Конечно, это не совсем так. Вместо этого представление не отображается вообще в течение двух секунд, и, наконец, когда оно становится видимым, его надпись гласит «Второй текст».
Может кто-нибудь объяснить мне, что происходит? Мне интересно узнать, как вы, ребята, добьетесь того, ради чего я здесь иду.
Приветствие.
ОБНОВЛЕНИЕ 1 : вот метод viewDidLoad:
- (void)viewDidLoad {
[super viewDidLoad];
label.text = @"First Label";
sleep(2);
label.text = @"Second Label";
}
ОБНОВЛЕНИЕ 2 : Я допустил глупую ошибку, поэтому, пожалуйста, игнорируйте это обновление.
ОБНОВЛЕНИЕ 3 : Я добавил следующее в мой метод viewDidAppear:
- (void)viewDidAppear: (BOOL)animated {
[super viewDidAppear: animated];
label.text = @"First Label";
sleep(2);
label.text = @"Second Label";
}
К сожалению, у меня точно такая же проблема.
ОБНОВЛЕНИЕ 4 : Следуя советам gerry3 и Феликса, я теперь реализовал PerforSelector и boom! Работает лакомство !! Я собираюсь отдать его Джерри3, хотя он наверняка приложил максимум усилий, чтобы помочь мне. Спасибо за ваш вклад!