アプリのテキストビューでログ出力を表示する必要があります。シーケンス内でperformSelectorを使用しようとしましたが、思ったように機能しませんでした。誰かがそれを行う方法を教えてもらえますか?
たとえば、ボタンをクリックすると、その下で多くの操作を実行し、操作全体が完了した後ではなく、その場でテキストビューにログを表示したいと考えています。
さらに、同じシーケンス内でperformSelectorを複数回呼び出すことはできませんか?
以下は、ボタンクリック内のシーケンスです。
- (IBAction)Write:(id)sender {
//do some action here
DisplayString = @"Seq1 pass"
[self performSelector:@selector(updateviewText) withObject:nil afterDelay:0];
//do some more action
DisplayString = @"Seq2 pass"
[self performSelector:@selector(updateviewText) withObject:nil afterDelay:0];
....
}
これは updateviewText 部分です:
-(void)updateviewText {
dispatch_queue_t queueNew = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0);
dispatch_async(queueNew,^ {
dispatch_async(dispatch_get_main_queue(),^{
[self.txtViewUseCaseLOG setText:[NSString stringWithFormat:@"%@\n%@",
self.txtViewUseCaseLOG.text,DisplayString ]];
});
});
}
ここでは、 DisplayStringはグローバル変数です。
このコードは、テキストをテキストビューに設定しません...しかし、以前に尋ねたように、それらのメッセージが必要です...