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

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];
};
});
05-28 19:18