在实际的开发中,有时候需要延迟一段时间执行某个方法或者某段代码,总结两种延迟执行某段代码的方式:
1.
[self performSelector: withObject: afterDelay:];
延迟执行(SEL)里面的方法,是oc中的一个方法。第一个参数是要执行的方法,第二个参数是执行的方法的参数,可以有一个参数也可以为nil。第三个参数是多长时间后执行该方法,该方法是单线程的。
2.
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[self sentmessage:rmsg type:CZMessageTypeother];
});
延迟执行代码块里面的内容。这个方法是多线程的,可以指定在哪个队列中执行代码块中的内容,进而决定了在哪个线程执行。由于水平有限,暂且理解这么多。以后新的认识会继续分享的。