IOS-笔记17(NSNotificaton,Application Lifecycle,UIApplication)
来源:互联网 发布:北京康知门诊部 编辑:程序博客网 时间:2024/09/21 09:22
NSNotification
这和安卓中的广播很类似,我这个广播发出去,有好多人注册监听。
当你想接受一个广播时,首先得到通知中心:
var note = NSNotificationCenter.defaultCenter()
然后注册监听:
note.addObserverForName(name: String?, //radio station的名字 object: AnyObject?, //你要监听这个广播站谁的广播,如果放nil则全部监听 queue: NSOperationQueue?) //你要哪个队列来处理接下来的闭包,nil会是主队列?or当前队列? { (NSNotification!) -> Void in //收到广播,闭包就会被执行 //code这里比较重要的一个属性就是userInfo,这一般是一个字典,不同的广播站有不同的字典 }
当你想发送广播时:
let center = NSNotificationCenter.defaultCenter() let notification = NSNotification(name: GPXURL.Notification, object: self, userInfo: [GPXURL.Key : url]) center.postNotification(notification)
注销一个广播监听时:定义一个变量等于注册监听的那个语句,那个函数会返回一段类似cookie的东西,在注销时调用下面的函数并将cookie传人即可:
NSNotificationCenter.defaultCenter().removeObserver()
Application Lifecycle
当你进入background时,你的代码还会执行一小段时间,然后进入挂起状态。如果你需要获取数据,你可以向系统请求隔一会进入后台状态。在挂起状态下可能会被杀死。在进入后台后你可以请求多给一点时间,有这么一个方法。
在这些状态切换的过程中,你会收到相应的广播,在AppDelegate文件中,你将收到对应的方法。
UIApplication
这个类每个应用程序只有一个,你不需要继承这个类。你可以在其他地方通过这个方法得到它本身:
let appDelegate = UIApplication.sharedApplication().delegate
6这个类里有很多有用的方法。 比如设置打开URL,设置在挂起状态时时多久唤醒一次,申请更多在后台阶段停留的时间。在申请时要注意,结束任务后要调用结束方法,否则系统会杀死你。
Info.plist
可编辑的一些项目设置,其实是Xml格式。capability:这里配置了一些你的应用程序的访问权限,比如iCloud等。 在你需要应用识别一些外部文件格式时可以通过编辑这个文件的方式来修改。具体参照项目Trax。
0 0
- IOS-笔记17(NSNotificaton,Application Lifecycle,UIApplication)
- iOS Application Delegate Lifecycle
- Application lifecycle
- iOS开发--UIApplication(IconBadgeNum)
- IOS学习笔记47--UIApplication深入研究
- IOS学习笔记47--UIApplication深入研究
- The JSF application lifecycle
- Adobe Flex Application LifeCycle
- Android Application Lifecycle(Finish)
- Application & View lifecycle
- Android Application Class Lifecycle
- Adobe Flex Application LifeCycle
- The Application Lifecycle
- Application Lifecycle Management
- Processes and Application Lifecycle
- IOS UIApplication
- iOS UIApplication
- iOS UIApplication
- Java之旅EJB(3)——Ant提高ejb开发效率
- Ugly Number I II
- Hibernate get和load区别
- 复制轮子还是创造轮子,我们应该怎样来提高自己的编程能力?
- mysql建表-主键-索引-外键
- IOS-笔记17(NSNotificaton,Application Lifecycle,UIApplication)
- 栈(stack)和堆(heap)的区别
- Flume监控目录并读取新添加的文件
- C 语言中用bsearch()实现查找操作
- 我是小白,关于oracle xe连接sql developer的失败问题
- poj 2299 Ultra-QuickSort(归并排序)
- Uva-122 - Trees on the level(二叉树与set)
- 从text-align和margin auto说开来
- 新浪xweibo代码架构分析(二次开发)