2012-05-31 52 views
0

我有一个循环遍历产品(产品)数组,以查看它们的任何id(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

快速回复非常感谢,我在更新UI得到:没有可见的@interface为UITextView声明选择器'setNeedsDisplay' – jx12345

相关问题