Several code delay execution methods in OC and oc Code Delay
First: [UIView animateWithDuration: 3 delay: 3 options: 1 animations: ^ {self. btn. transform = CGAffineTransformMakeTranslation (300,400);} completion: ^ (BOOL finished) {NSLog (@ "view animation ended");}]; // The thread is not blocked, the code in the animations block has a latency effect only when it supports the code that supports animation. For code that does not support animation, there is no latency effect. 2: [NSThread sleepForTimeInterval: 3]; // thread blocking is a waste of performance. Generally, the third type is not recommended: dispatch_after (dispatch_time (DISPATCH_TIME_NOW, (int64_t) (3 * NSEC_PER_SEC), dispatch_get_main_queue (), ^ {}); // custom delayed execution tasks without blocking threads, high efficiency (recommended) Method 4: [self-defined mselector: @ selector (test) withObject: nil afterDelay: 3]; // The thread is not blocked.