我们有时候会有这样的需求,当程序处于运行状态,每隔几秒给服务器发送一次请求。
这时我们可以这样处理:
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];
};
});
网友评论