Uiview NSO操作未将子视图添加到主视图

Uiview NSO操作未将子视图添加到主视图,uiview,nsoperation,Uiview,Nsoperation,我在使用NSOPATION时遇到了一种奇怪的行为。 我正在调用一个函数(-createTagView),该函数创建一个UIButton,然后将其添加到视图中。 出于某种原因,它没有添加它们。如果我从NSO操作外部调用该函数,一切正常 有什么想法吗?谢谢 这是我创建NSO操作的方式(在ViewController对象中) 这就是所谓的函数([Tag view]是UIButton): NSOperation使用单独的线程运行,您必须在主线程内调用[addSubview:]。有一个方法[object

我在使用NSOPATION时遇到了一种奇怪的行为。 我正在调用一个函数(-createTagView),该函数创建一个UIButton,然后将其添加到视图中。 出于某种原因,它没有添加它们。如果我从NSO操作外部调用该函数,一切正常

有什么想法吗?谢谢

这是我创建NSO操作的方式(在ViewController对象中)

这就是所谓的函数([Tag view]是UIButton):


NSOperation使用单独的线程运行,您必须在主线程内调用[addSubview:]。有一个方法[object performSelectorOnMainThread:withObject:waitUntilDone:]-您可以使用它添加子视图

[self.view performSelectorOnMainThread:@selector(addSubview:) withObject:aView waitUntilDone:YES];
-(void) createTagView:(NSMutableArray *) data
{
 NSInteger t_id  = (NSInteger)[data objectAtIndex:0];
 NSString *t_name = (NSString *)[data objectAtIndex:1];
 NSString *t_rawname = (NSString *)[data objectAtIndex:2];


 Tag *t = [[Tag alloc] initWithId:(NSInteger)t_id name:t_name rawname:t_rawname];

 [self.view addSubview:[t view]];

 [t release];
}
[self.view performSelectorOnMainThread:@selector(addSubview:) withObject:aView waitUntilDone:YES];