/ / progress bar не показва стъпка по стъпка напредък в iphone - iphone, цел - c

напредък лента не показва стъпка по стъпка напредък в iphone - iphone, цел - c

Здравейте всички IM използвате лентата за напредъка за посочване насъстоянието на анализа на xml в моя app.but не показва стъпка по стъпка актуализиране, вместо лентата за напредък се зарежда след приключване на целия анализ на xml, дотогава е останало и не показва никакъв прогрес.като да реши този проблем .ко някой може да ми помогне, моля. Използвам следния код

IBOutlet UIProgressView * threadProgressView;

threadProgressView.progress = 0.0;
[self performSelectorOnMainThread:@selector(makeMyProgressBarMoving) withObject:nil waitUntilDone:NO];

- (void)makeMyProgressBarMoving
{
float actual = [threadProgressView progress];
if (actual < 1) {
threadProgressView.progress = actual + ((float)1/(float)10);
[NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(makeMyProgressBarMoving) userInfo:nil repeats:NO];
}
else{
/* something else */
}
}

Отговори:

1 за отговор № 1
  1. Създайте таймер на главната нишка за всеки 1/10 от секундата. Натискайте го върху функцията "makeMyProgressBarMoving".

    myTimer = [NSTimer scheduledTimerWithTimeInterval:.1 target:self selector:@selector(makeMyProgressBarMoving) userInfo:nil repeats:YES];
    

След това редактирайте функцията си така, че да изглежда така:

- (void)makeMyProgressBarMoving {

float actual = [threadProgressView progress];
if (actual < 1) {
threadProgressView.progress = actual + ((float)1/(float)10);
return;
}

//if you got here that means the progress view is greater than 1 so now you can kill your timer that you had running every 1/10th of a second.

[myTimer invalidate];

}