1 新建线程:
方法1:使用对象方法
//创建一个线程,第一个参数是请求的操作,第二个参数是操作方法的参数
NSThread *thread=[[NSThread alloc]initWithTarget:self selector:@selector(loadImage) object:nil];
//启动一个线程,注意启动一个线程并非就一定立即执行,而是处于就绪状态,当系统调度时才真正执行
[thread start];
方法2:使用类方法
//调用完毕后,会马上创建并开启新线程 [NSThread detachNewThreadSelector:@selector(loadImage) toTarget:self withObject:nil];
2 获取线程
获取当前线程:
NSThread *current = [NSThread currentThread];
获取主线程
NSThread *main = [NSThread mainThread];
3 定时器的新建与移除
新建定时器:
timer = [NSTimer timerWithTimeInterval:0.1f
target:self
selector:@selector(updateProgress:)//定时器每隔0.1s需要执行的函数
userInfo:nil
repeats:YES];
[[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes]
移除定时器:
[timer invalidate]; // 将定时器从运行循环中移除,
timer = nil;
4 控件隐藏与不使能隐藏imageview/label/button balabala
self.CurrentVerNumLabel.hidden=true;//隐藏label
self.ProgressLabel.hidden=false;//显示label
关于button
self . buttonclick . hidden =true ;//隐藏button
[_buttonclick setEnabled:NO];//不使能button
关闭窗口
[self.window close];//关闭error提示窗口
退出app
[[NSApplication sharedApplication] terminate:nil];//退出app