继续我们上一章的内容, 这次我们讲解的是电源传感器, 简单来讲就是电池的状态, 每当电池发生变化时, 就回去调用一下电源传感器, 比如充电, 耗电之类的.
PS: 已经更新到Swift 2.1, 支持iOS 9.1
1.实现代码
import UIKit
import CoreMotion
class ViewController: UIViewController {
var cmm: CMMotionManager!
override func viewDidLoad() {
super.viewDidLoad()
// 1.实例化CMMotionManager
cmm = CMMotionManager()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
override func viewWillAppear(animated: Bool) {
// 1.打开电源传感器
UIDevice.currentDevice().batteryMonitoringEnabled = true
// 2.打印电池的电量, 1.0表示已经充满
println("电池电量 = \(UIDevice.currentDevice().batteryLevel)")
// 3.添加一个通知, 每当电池一旦有变化, 就调用levelChanged方法
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("levelChanged"), name: UIDeviceBatteryLevelDidChangeNotification, object: nil)
}
// 4.关掉页面之后, 把通知删除
override func viewDidDisappear(animated: Bool) {
// 4.1.这里我们对删除通知的名字做一个详细的处理, 这样子我们就可以不会在多通知的情况下把别的通知给删除.
NSNotificationCenter.defaultCenter().removeObserver(self, name: UIDeviceBatteryLevelDidChangeNotification, object: nil)
}
// 5.自定义打印电池电量的方法
func levelChanged() {
println("电池电量 = \(UIDevice.currentDevice().batteryLevel)")
}
}
2.最终效果
项目工程: 链接: http://pan.baidu.com/s/1kTMuI03 密码: 3kqm