2012-05-31 2 views
0

У меня есть цикл, который выполняет итерацию через массив продуктов (продуктов), чтобы увидеть, соответствует ли какая-либо их идентификатор (product_id) для данного продукта (p). Текст UITextView (outputText) обновляется, чтобы показать пользователю, как поиск прогрессирует:Текст не отображается в UITextView до тех пор, пока цикл не будет завершен.

for (Product *q in products) { 
    outputText.text = [NSString stringWithFormat:@"%@\nChecking: %@", outputText.text, q.name]; 
    NSLog(@"%@\nChecking: %@", outputText.text, q.name); 
    if ([q.product_id intValue] == [p.product_id intValue]) { 
     outputText.text = [NSString stringWithFormat:@"%@\nMatch: %@", outputText.text, q.name]; 
     break; 
    } 
} 

Проблема является UITextView, кажется, не обновляется до тех пор, пока цикл завершен ... UITextView является пустой в течение нескольких секунд, пока цикл обрабатывается, хотя в консоли Xcode я вижу прокрутку текста nslog, а затем UITextView получает весь текст за один раз.

Есть ли способ очистить текст до UITextView во время цикла?

Любая помощь очень ценится,

Благодаря

ответ

0
  1. Убедитесь, что вы обновляете интерфейс в основном потоке
  2. вызов [outputText setNeedsDisplay:YES];
+0

Большое спасибо за быстрый ответ, я получение: не видно @interface для UITextView объявляет селектор setNeedsDisplay ' – jx12345

Смежные вопросы