UIProgressView не показывает прогресса


Я не понимаю, где я несу яйцо. Мне нужно обновить прогресс progresview. Я создаю UIProgressView в IB и меняю только цвет. У меня есть свойство и следующий код

@property (weak, nonatomic) IBOutlet UIProgressView *progressView;

Свойство подключиться к розетке В IB

- (void)viewDidLoad
{
[super viewDidLoad];
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"DefaultSS.png"]];
}


- (void) viewDidAppear:(BOOL)animated
{
  [self connectToServer];
}


- (void) connectToServer
{
  //some code...
    sleep(2);
[self.progressView setProgress:0.2 animated:YES];
sleep(1);
[self.progressView setProgress:0.4 animated:YES];
sleep(1);
[self.progressView setProgress:0.7 animated:YES];
sleep(1);
[self.progressView setProgress:1.0 animated:YES];
sleep(1);
 //some code...
 }

Сон работает хорошо, но прогресс UIProgressView не меняется со временем. Где я ошибся?

1 2

1 ответ:

Sleep() блокирует основной поток, поэтому обновления пользовательского интерфейса не будут происходить. Вам нужно использовать NSTimer или что-то подобное.