iOS

我们有时候会有这样的需求,当程序处于运行状态,每隔几秒给服务器发送一次请求。
这时我们可以这样处理:

UILocalNotification *localNotification = [[UILocalNotification alloc] init];

// 可以用该语句查看当前线程
NSLog(@"当前线程--%@", [NSThread currentThread]);    

// 此处需要写一个异步任务,是因为需要开辟一个新的线程去反复执行你的代码块,否则会阻塞主线程
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0), ^{

        while (TRUE) {

            // 每隔5秒执行一次(当前线程阻塞5秒)
            [NSThread sleepForTimeInterval:5];  
            
            [[UIApplication sharedApplication] cancelAllLocalNotifications];
           
            // 这里写你要反复处理的代码,如网络请求
            NSLog(@"***每5秒输出一次这段文字***");            

            [[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
        };
    });


原文地址:https://www.cnblogs.com/shenlaiyaoshi/p/8360437.html