スレッド内でsetTextを実行しようとすると「EXC_BAD_ACCESSでクラッシュする」とクラッシュします。なぜ[UITextView "setText"]をNSThreadで使用できないのですか?
???
THX UIへ
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController<UITextViewDelegate>
{
UITextView *tvCommand;
}
@end
---------
-(void) Thread_Tcp
{
[tvCommand setText:@"HELLO"];//crashes here with EXC_BAD_ACCESS
}
- (void)viewDidLoad
{
NSThread *hThread = [NSThread alloc] initWithTarget:self selector:@selector(Thread_Tcp) object:nil];
[hThread start];
}
'Thread_Tcp'は、Objective-Cのメソッドの名前のお粗末な選択です。規約に従うのが最善です。この場合、メソッド名は 'lowerCamelCase'の形をとります(NSStringの' UTF8String'のようなよく知られている頭字語で始まるメソッドは例外です)。 – dreamlax