iOS 常用計時延遲執行方法

- (void)viewDidLoad {
    [super viewDidLoad];
    // 第 1 種:performSelector 
  // 3.0s 以后 執行showNSLog: 方法,如果 withObject 不為 nil,則是傳遞過去的參數 
  // 注意,這個方法不會影響后面代碼的執行,所以打印順序是 12121212, 949494494, showMessage
    NSLog(@"12121212");
    [self performSelector:@selector(showMessage) withObject:nil afterDelay:3];
    
    NSLog(@"949494494");
    
    
    // 這個是 GCD,執行順序和上面一樣
    NSLog(@"-------");
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3.0*NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        
        NSLog(@"ok-ok-ok");
    });
    NSLog(@"44444444");
    
    // 第 3 種:NSTimer 
// 如果 repeats 為 YES,那么就是每隔 3.0s 就重復一次 showNSLog 這個方法
    [NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(showMessage) userInfo:nil repeats:YES];
    
    
}

-(void)showMessage{
    NSLog(@"showMessage");
}


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容