【iOS】swift 让程序挂起后,能在后台继续运行任务
1,程序的挂起和退出

|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
import UIKitclass ViewController: UIViewController { @IBOutlet weak var textView: UITextView! @IBOutlet weak var mySwitch: UISwitch! var i=0 override func viewDidLoad() super.viewDidLoad() //创建定时任务 _ = NSTimer.scheduledTimerWithTimeInterval(1, userInfo:nil,repeats:true) } //计时器每秒触发事件 func tickDown() textView.text! += "\(i++) } override func didReceiveMemoryWarning() super.didReceiveMemoryWarning() }} |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
import UIKit@UIApplicationMainclass AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? //后台任务 var backgroundTask:UIBackgroundTaskIdentifier!nil func application(application: UIApplication, didFinishLaunchingWithOptionsNSObject: AnyObject]?)Bool { return true } func applicationWillResignActive(application: UIApplication) } let controller:ViewController = self.window?.rootViewController as! ViewController controller.textView.text! += "进入后台 //如果已存在后台任务,先将其设为完成 if self.backgroundTasknil { application.endBackgroundTask(self.backgroundTask) self.backgroundTaskUIBackgroundTaskInvalid } //如果要后台运行 if controller.mySwitch.on //注册后台任务 () -> Void in //如果没有调用endBackgroundTask,时间耗尽时应用程序将被终止 application.endBackgroundTask(self.backgroundTask) self.backgroundTaskUIBackgroundTaskInvalid }) } } func applicationWillEnterForeground(application: UIApplication) } func applicationDidBecomeActive(application: UIApplication) } }} |
【iOS】swift 让程序挂起后,能在后台继续运行任务的更多相关文章
- Swift - 让程序挂起后,能在后台继续运行任务
1,程序的挂起和退出 由于iOS设备资源有限.当用户点击了home键,或者另一个应用程序启动了.那么原先那个程序便进入后台被挂起,不是退出,只是停止执行代码,同时它的内存被锁定.当应用程序恢复时,它会 ...
- (IOS)Swift Music 程序分析
本文主要分享下楼主在学习Swift编程过程中,对GitHub上的一个开源App Swift Music的研究心得. 项目地址:https://github.com/xujiyao123/SwiftMu ...
- 应用程序挂起、复原与终止— IOS开发
本文转载至 http://justcoding.iteye.com/blog/1473350 一.挂起 当有电话进来或者锁屏,这时你的应用程会挂起,在这时,UIApplicationDelegate委 ...
- 详解 IOS 7.1 程序启动原理
程序都是从Main方法入口的 IOS 也不例外 int main(int argc,char * argv[]) { @autoreleasepool { return UIApplicationMa ...
- Cordova or Xamarin 用.net开发IOS和Android程序
Visual Studio 2015 和 Apache Cordova 在开始前,问一下自己下面这些问题: 熟练掌握web技术的开发者比例是多少?(占所有开发者的比例) 熟练掌握移动开发技术(并且使用 ...
- iOS - Swift available 平台判断
前言 Swift 语言中的 @available 和 #available,Swift 2.0 中,引入了可用性的概念.对于函数,类,协议等,可以使用 @available 声明这些类型的生命周期依赖 ...
- Robotium调用getActivity()导致程序挂起的方法
1. 问题背景的叙述性说明 需要直接用在工作中没有项目的源代码robotium测试目标android平台launcher,该平台的基础上,当前日期的版本号android 4.4.2.之前我用来验证的可 ...
- 解决Windows 8.1 应用商店中安装程序挂起的解决
阅读目录: 在Windows 8.1系统的应用程序商店中安装程序时,总是提醒“挂起”状态.无法进行后续安装,看了下国内不少用户有这个困扰,特此总结自己的解决方案. 1. 确保Windows updat ...
- iOS swift项目IM实现,从长连接到数据流解析分析之Socket
iOS swift项目IM实现,从长连接到底层数据解析分析之Socket 一:项目简介: 去年开始接手了一个国企移动项目,项目的需求是实现IM即时通讯功能. * 一期版本功能包括了: ...
随机推荐
- 已在Terminal安装了包,PyCharm却提示无法找到
想使用python的dpkt包解析pcap文件进行分析,已经按照提示在终端输入sudo apt install python-dpkt,并且显示安装成功. 但是回到PyCharm中依然报错,如图所示: ...
- [SCOI2007]蜥蜴
网络流 一个点拆成两个,注意要把某一类边连反过来 这样才能保证有限制 # include <bits/stdc++.h> # define IL inline # define RG re ...
- (3)Deep Learning之神经网络和反向传播算法
往期回顾 在上一篇文章中,我们已经掌握了机器学习的基本套路,对模型.目标函数.优化算法这些概念有了一定程度的理解,而且已经会训练单个的感知器或者线性单元了.在这篇文章中,我们将把这些单独的单元按照一定 ...
- Angular2 - 概述
*Hi DAI, 我想学习 Angular2, 我应该怎么开始? 关于学习 Angular2, 我认为你应该按照下面的列表 概述: 在您为 Angular2 应用程序编写第一个代码之前, 这将为您提供 ...
- 用JavaScript写一个区块链
几乎每个人都听说过像比特币和以太币这样的加密货币,但是只有极少数人懂得隐藏在它们背后的技术.在这篇博客中,我将会用JavaScript来创建一个简单的区块链来演示它们的内部究竟是如何工作的.我将会称之 ...
- [转]ZooKeeper的学习与应用
[转]ZooKeeper的学习与应用 http://blog.csdn.net/rengq126/article/details/7393227 1. ZooKeeper的学习与应用 1.1. 概述 ...
- 使用git工具快速push项目到github(精简)
Dear Weber ,相信有很多刚开始接触前端的程序猿,在刚接触到git工具传项目到github上时会遇到一些问题,那么下面的话呢,我就整理一下一个大致的思路提供给大家参考: 工具:git (自行下 ...
- spring之事务
1.编程式事务 2.声明式事务:aop
- PHP MVC框架核心类
PHP MVC框架核心类 现在我们举几个核心框架的例子演示:在framework/core下建立一个Framework.class.php的文件.写入以下代码: // framework/core/F ...
- Maven-10: 使用maven-help-plugin描述插件
除了访问在线的插件文档之外,还可以借助maven-help-plugin来获取插件的详细信息.可以运行如下命令来获取maven-compiler-plugin2.1版本的信息: [INFO] Scan ...