我正在编写一个Objective-C应用程序,它与USB设备通信。该应用程序持续向设备写入某些数据,并在textView中显示写操作的状态,该textView是NSTextView对象。当我从设备获得写操作状态时,在循环中调用- [NSTextView insertText:]
方法。
问题在于 NSTextView 在每次调用“-insertText:”时不会更新。我只有在整个循环执行完毕后才能获得 NSTextView 的全部内容。
我没有看到NSTextView类的适当刷新或更新方法。我该如何同时接收操作状态并更新NSTextView?
- (IBAction)notifyContentHasChanged:(NSInteger) block {
NSString *str;
str = [NSString stringWithFormat:@"Block Written Successfully: %d
", block];
[data insertText:str];
}
- (IBAction)func {
while(USB_SUCCESS(status))
{
printf("
Blocks Written Successfully: %d",BlockCnt);
[refToSelf notifyContentHasChanged:BlockCnt];
}
}
请注意,控制台上的printf
能够及时更新,但是NSTextView上不会。