カスタムスレッドを使用してオブジェクトを作成し、それらを使用する場合、私は知っています。iOSアプリケーションで以下のコードを試しましたが、エラーは発生しませんでした。なんで?
-(void)Sample{
NSLog(@"Sample");
NSString *temp= @"asdfasdf";
NSArray *tempAray = [NSArray arrayWithObject:temp];
NSLog(@"Print it %@%s",temp,__FUNCTION__);
}
-(void)viewDidLoad{
[super viewDidLoad];
[NSThread detachNewThreadSelector:@selector(Sample) toTarget:self withObject:@"NSSstint"];
// Do any additional setup after loading the view, typically from a nib.
}
編集:
オブジェクトに自動解放メッセージを渡した場合、メモリがリークするという事実を理解しています。サンプルメソッド呼び出しに以下のメソッド実装を使用しました:今でも以下のメッセージを受け取りませんでした:
*** __NSAutoreleaseNoPool(): object 0x167ba4 autoreleased without a pool in place - just leaking ***
-(void)Sample{
NSLog(@"Sample");
NSString *temp=[[NSString alloc] initWithFormat:@"Sample"];
NSArray *tempAray = [NSArray arrayWithObject:temp];
[tempAray retain];
[tempAray autorelease];
[temp autorelease];
NSLog(@"Print it %@%s",temp,__FUNCTION__);
}