当前位置: 首页 > 编程日记 > 正文

swift 进入后台或者点击home键是程序进入后台后,持续定位

进入后台的方法

import UIKit


@UIApplicationMain

class AppDelegate: UIResponder, UIApplicationDelegate,CLLocationManagerDelegate {

    

    var locationManager : CLLocationManager?

    

    var window: UIWindow?

    

    var notificationDict = NSDictionary()

    

    func applicationDidEnterBackground(application: UIApplication) {

        

        UIApplication.sharedApplication().beginBackgroundTaskWithExpirationHandler(nil)

        

        if self.respondsToSelector("IntoTheBackground") {

            

            NSNotificationCenter.defaultCenter().addObserver(self, selector: "IntoTheBackground", name: UIApplicationDidEnterBackgroundNotification, object: nil)

            

        }

        

    }

    

    override func performSelectorInBackground(aSelector: Selector, withObject arg: AnyObject?) {

        

        tik()

        

    }

    

    //计时器

    func tik() {

        if UIApplication.sharedApplication().backgroundTimeRemaining < 61.0 {

            

            locationManager!.delegate = self

            

            locationManager?.startUpdatingLocation()

            

            UIApplication.sharedApplication().beginBackgroundTaskWithExpirationHandler(nil)

            

        }

        

    }

    

在需要的页面中viewDidAppear调用方法即可

 override func viewDidAppear(animated: Bool) {

        

        super.viewDidAppear(animated)

        

        let model : ShareModel = ShareModel()

        

        if (!model.NetWorking) {

            

            NSHelper.showAlertTitle("网络不可用,请检查网络连接。", forView: self.view)

            

            return

            

        }

        

        self.mapView?.delegate = self

        

        self.search?.delegate = self

        

        self.manager.pausesLocationUpdatesAutomatically = false

        

        NSNotificationCenter.defaultCenter().addObserver(self, selector: "IntoTheBackground", name: UIApplicationWillResignActiveNotification, object: nil)

        

        view.endEditing(true)

        

         NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardWillHide:", name: UIKeyboardDidHideNotification, object: nil)

        

    }





相关文章:

求助:我有一辆机器人小车,怎么让它跑起来,还会避障、目标跟踪、路径规划?...

也许&#xff0c;你曾见过能灵活地绕开障碍物的它在桌子边缘“疯狂试探”的它它是谁&#xff1f;没错&#xff0c;它就是是英伟达推出的一款入门级人工智能小车——Jetbot &#xff0c;估计对机器人&#xff0c;尤其是对车械感兴趣的朋友们一定对它不陌生。组装完成后能够通过摄…

Python-常用字符串转换实例

当字符串是&#xff1a;\u4e2d\u56fd >>>s[\u4e2d\u56fd,\u6e05\u534e\u5927\u5b66]>>>strs[0].decode(unicode_escape) #.encode("EUC_KR")>>>print str 中国 当字符串是: >>>print unichr(19996) 东 ord()支持unicode&…

什么是静态UItableView

iOS开发UI篇—简单介绍静态单元格的使用 iOS开发UI篇—简单介绍静态单元格的使用 一、实现效果与说明 说明&#xff1a;观察上面的展示效果&#xff0c;可以发现整个界面是由一个tableview来展示的&#xff0c;上面的数据都是固定的&#xff0c;且几乎不会改变。 要完成上面的…

Python3中PyMongo使用举例

MongoDB是一个基于分布式文件存储的开源数据库&#xff0c;由C语言编写&#xff0c;与平台无关&#xff0c;旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品&#xff0c;是非关系数据库中功能最丰富&#xff0c;最像关…

PyTorch踩过的12坑 | CSDN博文精选

作者 | hyk_1996 来源 | CSDN博客1. nn.Module.cuda() 和 Tensor.cuda() 的作用效果差异无论是对于模型还是数据&#xff0c;cuda()函数都能实现从CPU到GPU的内存迁移&#xff0c;但是他们的作用效果有所不同。对于nn.Module:model model.cuda() model.cuda() 上面两句能够达到…

解决ubuntu14.04下Qt 5.3.1下的QtCreator fcitx,ibus不能输入中文

2019独角兽企业重金招聘Python工程师标准>>> ubuntu 14.04从Qt官网下载的最新版qt&#xff0c;安装过程很顺利&#xff0c;但却发现没办法输入中文&#xff08;我用的是 fcitx), 即使下载了fcitx-frontend-qt5和fcitx-frontend-qt4也还是没用。 想必是qt版本的原因吧…

实战:基于技术分析的Python算法交易

译者 | Tianyu 出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;本文是用 Python 做交易策略回测系列文章的第四篇。上个部分介绍了以下几个方面内容&#xff1a;介绍了 zipline 回测框架&#xff0c;并展示了如何回测基本的策略导入自定义的数据并使用 zipline评估交…

深度学习中的Dropout简介及实现

在训练神经网络模型时候&#xff0c;如果模型相对复杂即参数较多而训练样本相对较少&#xff0c;这时候训练出的模型可能对训练集中的数据拟合的比较好&#xff0c;但在测试集上的表现较差&#xff0c;即出现了过拟合的情况。这种情况下可以使用Dropout来降低过拟合的可能性进而…

swift中字符串截取方法(substring)

下面介绍2种swift的字符串截取方法,实际上用到了substringFromIndex,substringToIndex,substringWithRange 1.将String转化为NSString再截取,代码如下&#xff1a; var s"1234567890"var ns1(s as NSString).substringFromIndex(5) var ns2(s as NSString).substrin…

设置IE兼容模式

文件兼容性用于定义让IE如何编译你的网页。此文件解释文件兼容性&#xff0c;如何指定你网站的文件兼容性模式以及如何判断一个网页该使用的文件模式。 前言 为了帮助确保你的网页在所有未来的IE版本都有一致的外观&#xff0c;IE8引入了文件兼容性。在IE6中引入一个增设的兼容…

程序员的自我修养--链接、装载与库笔记:静态链接

1. 空间与地址分配 对于链接器来说,整个链接过程中,它就是将几个输入目标文件加工后合并成一个输出文件。测试代码a.c和b.c内容如下&#xff1a; // a.c extern int shared;int main() {int a 100;swap(&a, &shared); } // b.c int shared 1;void swap(int* a, in…

开启JAVA自学新篇章

MyEclipse Enterprise Workbench简称MyEclipse&#xff0c;是一款专门用于开发Java, J2EE的 Eclipse 插件集合&#xff0c;该软件不仅功能丰富而且强大&#xff0c;包括了完备的编码、调试、测试和发布功能&#xff0c;利用它我们可以在数据库和JavaEE的开发、发布以及应用程序…

12306系统的秒杀“艺术”:如何抗住100万人同时抢1万张票?

作者 | IT牧场 编辑 | 阿秃每到节假日期间&#xff0c;一二线城市返乡、外出游玩的人们几乎都面临着一个问题——抢火车票。虽然现在大多数情况下都能订到票&#xff0c;但是放票瞬间即无票的场景&#xff0c;相信大家都深有体会。尤其是春节期间&#xff0c;大家不仅使用 1230…

C#不错的扩展工具类

FSLibExtension.NET https://github.com/iccfish/FSLib.Extension WebEssentials2013 https://github.com/iccfish/WebEssentials2013

自己写的程序密码功能 ------数字功能

自己写的程序密码功能 ------数字功能 class LockedViewController: UIViewController { var dataBase:FMDatabase? var i 0 var passwordStr : String? var tempStr : String "" var numStr : String "" //初始输入密码 var reNumStr : String &…

程序员的自我修养--链接、装载与库笔记:Windows PE/COFF

1. Windows的二进制文件格式PE/COFF 在32位Windows平台下&#xff0c;微软引入了一种叫PE(Portable Executable)的可执行格式。作为Win32平台的标准可执行文件格式&#xff0c;PE有着跟ELF一样良好的平台扩展性和灵活性。PE文件格式事实上与ELF同根同源&#xff0c;它们都是由…

神州数码与神州控股、神州信息共同主办首届技术年会,透露出什么信号?

11 月 8 日&#xff0c;神州控股、神州数码集团、神州信息共同主办“数字中国 2019 技术年会”&#xff0c;聚焦云计算、大数据、人工智能、区块链、5G 等前沿技术创新与应用实践&#xff0c;众多领域的技术专家展开了深度交流&#xff0c;共同探讨数字时代的技术创新与协同发展…

osi七层协议和tcp/ip四层协议

&#xff08;大部分内容为转载&#xff09;OSI&#xff08;Open System Interconnection&#xff09;是一个开放性的通行系统互连参考模型&#xff0c;他是一个定义的非常好的协议规范&#xff0c;共包含七层协议。OSI七层协议是由ISO (International Standards Organization)在…

Swift中页面跳转与传值:

1.简单方式 首先&#xff0c;Swift的跳转可分为利用xib文件跳转与storyboard跳转两种方法&#xff0c;我这里选择使用storyboard的界面跳转方法。 1、通过在storyboard中拉button控件建立segue跳转。 2、通过presentViewController方法进行界面跳转。 这里需要注意presentV…

知乎热议!学完Python之后,我的编程能力竟然退化了!

在知乎上有一个特别火的问题&#xff1a;如何学Python&#xff1f;你会看到很多高赞回答是&#xff1a;我一天就学完了。在大家群嘲的背后&#xff0c;我们来分析一下&#xff0c;为什么在已经学过的人眼里&#xff0c;Python这么容易学&#xff0c;甚至简单到被某些人鄙视呢&a…

libjpeg-turbo介绍及测试代码

很多年之前在https://blog.csdn.net/fengbingchun/article/details/10171583 中简单介绍过libjpeg-turbo的安装&#xff0c;因为libjpeg-turbo一直在维护更新&#xff0c;较之前有了些变化&#xff0c;这里再次整理下&#xff0c;并增加更多的测试代码。 libjpeg-turbo的主页为…

高级特性-多线程,GUI

2019独角兽企业重金招聘Python工程师标准>>> 创建线程两种方式第一种&#xff0c;导入improt thread 模块&#xff0c;thread.start_new_thread(功能函数名称&#xff0c;(参数1&#xff0c;参数2...)) 后面参数为功能函数的参数第二个方式类似于java&#xff0c;导…

Hulu视频如何提升推荐多样性?

作者 | 余沾 整理 | 深度传送门&#xff08;ID: deep_deliver&#xff09;导读&#xff1a;本文主要介绍Hulu在NIPS 2018上发表的《Fast Greedy MAP Inference for Determinantal Point Process to Improve Recommendation Diversity》中&#xff0c;提出的DPP算法解决视频推荐…

UITextField长度限制的写法

1.遵循代理 UITextFieldDelegate 2.点击响应方法 userNameText.addTarget(self, action: "tappedOne:", forControlEvents: UIControlEvents.EditingChanged) 3.方法的实现 func tappedOne(textField: UITextField) { textField.text textField.text?.uppercaseS…

通过Python在Windows或Linux上快速搭建HTTP服务器

在Windows 7/10或Ubuntu上可以通过python2.x或python3.x来快速搭建一个简单的HTTP服务器。 如果python为2.x&#xff0c;则可执行&#xff1a;$ python -m SimpleHTTPServer 或 $ python2 -m SimpleHTTPServer 如果python为3.x&#xff0c;则可执行&#xff1a;$ python -m h…

NAND FLASH

NAND Flash 以Micron公司的MT29F2G08为例介绍NAND Flash原理和使用。 1&#xff0e; 概述 MT29F2G08使用一个高度复用的8-bit总线&#xff08;I/O[7:0]&#xff09;来数据传输、地址、指令。5个命令脚&#xff08;CLE、ALE、CE#、WE#&#xff09;实现NAND命令总线接口规程。3个…

swift 中跳转web view的两种方法

首先 遵循代理 引入头文件 #import <WebKit/WebKit.h> 第一种情况 直接跳转 了解不含特殊字符的 import UIKit class NewsViewController: UIViewController,WKNavigationDelegate,UIScrollViewDelegate { var webView : WKWebView WKWebView() override func viewW…

YAML开源库yaml-cpp简介及使用

关于YAML的介绍可以参考&#xff1a;https://blog.csdn.net/fengbingchun/article/details/88090609 yaml-cpp是用c实现的用来解析和生成yaml文件的&#xff0c;源码地址在https://github.com/jbeder/yaml-cpp &#xff0c;这里使用的是最新发布的稳定版0.6.2. 解析和产生yam…

数据安全引担忧?get它,让你吃一颗“定心丸”

网络购物、在线外卖、远程教育、共享单车……如今&#xff0c;这些数字化的消费场景在个人生活中早已司空见惯。同时&#xff0c;在数字化浪潮下&#xff0c;越来越多的企业意识到大数据资产的价值&#xff0c;并试图推动其数字化转型。数据经济飞速发展&#xff0c;带来便捷和…

ETL数据抽取策略

ETL的抽取策略本文所提到的数据加载策略为OLTP系统作为源系统&#xff0c;并进行ETL数据加载到OLAP系统中所采用的一般数据加载策略。依循数据仓库的工作方式&#xff0c;原始资料由源数据库被抽取出来后&#xff0c;将在中间过程被写入到”Operational Data Store”(ODS)&…