performSelector:withObject:afterDelay
Я думаю, что поможет вам здесь.
Напишите метод, который увеличит ваш индикатор выполнения. В конце этого метода вызовите performSelector:withObject:afterDelay
по тому же методу с задержкой в 1 секунду, пока полоска не будет заполнена.
Вам, вероятно, не нужно будет передавать объект этому методу, поэтому вы можете просто использовать nil.
EDIT
В вашем случае я бы рекомендовал что-то вроде этого:
- (IBAction)startProgressBar:(id)sender
{
// Initialize the progress bar to go from 0 to 100
[progress setMinValue:0.0];
[progress setMaxValue:100.0];
[progress setDoubleValue:0.0];
// Start the auto-increment calls
[self incrementProgressBar];
}
- (void)incrementProgressBar
{
// Increment the progress bar value by 1
[progress incrementBy:1.0];
// If the progress bar hasn't reached 100 yet, then wait a second and call again
if([progress doubleValue] < 100.0)
[self performSelector:@selector(incrementProgressBar) withObject:nil afterDelay:1];
}
Я уже знаю, что строка кода, но я не знаю, как это LOOP, пожалуйста, дайте мне более подробно:) – CocoaCoder
Представьте, что вы пишете метод с этой строкой кода в конце. После запуска метода он снова запустится (после задержки). И опять. Это своего рода рекурсивный метод. – Aaron
Да, но я хочу сделать его петлей до тех пор, пока бар не будет на 100% заполнен. Затем я хочу остановить цикл, пожалуйста, помогите: D – CocoaCoder