[Code Note] iOS-javasmselecw.mainthread, javasmselector
Code:
RootViewController. h
#import <UIKit/UIKit.h>@interface RootViewController : UIViewController{ UILabel *label;}@end
RootViewController. m
-(Void) viewDidLoad {[super viewDidLoad]; // Do any additional setup after loading the view. self. title = @ "performSelectorOnMainThread";}-(void) touchesBegan :( NSSet *) touches withEvent :( UIEvent *) event {// The role of performSelectorOnMainThread is its name, a selector is executed in the main thread. all calls to the UIKit must be in the main thread. Calls to non-main threads may produce unexpected results and may cause crash, so when you want to execute a piece of code called by the UI in other threads, you need to use this method [self defined mselecw.mainthread: @ selector (loadData) Object: nil waitUntilDone: NO];}-(void) loadData {if (! Label) {label = [[UILabel alloc] init]; label. frame = CGRectMake (50, 80,200,200); label. backgroundColor = [UIColor redColor]; [self. view addSubview: label];} else {[label removeFromSuperview]; label = nil ;}}