我正在使用Swift开发我的第一个OSX 10.8应用程序。我希望能够让电池的状态指示今日下拉菜单中的文字。代码的这一方面有效,但我非常沮丧,因为我的课程从未被调用过。它位于一个名为“DeviceMonitor.swift”的独立支持脚本中。谢谢您的帮助! 代码:
import Foundation
import UIKit
class BatteryState {
var device: UIDevice
init() {
self.device = UIDevice.currentDevice()
println("Device Initialized")
}
func isPluggedIn(value: Bool) {
let sharedDefaults = NSUserDefaults(suiteName: "group.WidgetExtension")
let batteryState = self.device.batteryState
if (batteryState == UIDeviceBatteryState.Charging || batteryState == UIDeviceBatteryState.Full){
let isPluggedIn = true
println("Plugged In")
sharedDefaults?.setObject("Plugged In", forKey: "stringKey")
}
else {
let isPluggedIn = false
println("Not Plugged In")
sharedDefaults?.setObject("Not Plugged In", forKey: "stringKey")
}
sharedDefaults?.synchronize()
}
}
答案 0 :(得分:3)
除非您已在代码中的其他位置执行此操作,否则您似乎尚未注册接收UIDeviceBatteryLevelDidChangeNotification
个事件。您还应确保当前UIDevice
的{{1}}为batteryMonitoringEnabled
。