我正在做一个项目,我想看看近邻探测器是否工作,以及batteryState是什么。这是我的密码-
import Foundation
import UIKit
class DeviceMonitor {
init() {
UIDevice.currentDevice().batteryMonitoringEnabled = true
UIDevice.currentDevice().proximityMonitoringEnabled = true
//Loops for ease of checking
var timer: Bool = true
while (timer == true){
sleep(2)
BatteryState()
ProximityState()
}
}
func BatteryState() {
var batterystate: UIDeviceBatteryState = UIDevice.currentDevice().batteryState
println(batterystate)
}
func ProximityState() {
var proximitystate: Bool = UIDevice.currentDevice().proximityState
println(proximitystate)
}
}我的问题是,我似乎得到了(Enum值),因为我的BatteryState和ProximityState的输出总是错误的(即使是被搁置和屏幕是黑色的)。另外,如何比较BatteryState (它不是字符串)?这可能有点下流,但我只是在学斯威夫特.
发布于 2014-12-16 01:54:54
您应该以小写字母开始命名您的函数。你应该这样做:
var batteryState: String {
if UIDevice.currentDevice().batteryState == UIDeviceBatteryState.Unplugged {
return "Unplugged"
}
if UIDevice.currentDevice().batteryState == UIDeviceBatteryState.Charging {
return "Charging"
}
if UIDevice.currentDevice().batteryState == UIDeviceBatteryState.Full {
return "Full"
}
return "Unknown"
}
var batteryCharging: Bool {
return UIDevice.currentDevice().batteryState == UIDeviceBatteryState.Charging
}
var batteryFull: Bool {
return UIDevice.currentDevice().batteryState == UIDeviceBatteryState.Full
}
var unPlugged: Bool {
return UIDevice.currentDevice().batteryState == UIDeviceBatteryState.Unplugged
}只有当需要通知应用程序对邻近状态的更改时,才启用邻近监视。否则,禁用邻近监视。默认值为false。 并不是所有的iOS设备都有接近传感器。若要确定是否可用邻近监视,请尝试启用它。如果proximityMonitoringEnabled属性的值仍然为假,则无法使用邻近监视。
var proximityState: Bool {
UIDevice.currentDevice().proximityMonitoringEnabled = true
return UIDevice.currentDevice().proximityMonitoringEnabled ? UIDevice.currentDevice().proximityState : false
}用法:
let myBatteryStateDescription = batteryState
let myProximityStateDescription = proximityState ? "True" : "False"
if proximityState {
// do this
} else {
// do that
} https://stackoverflow.com/questions/27496266
复制相似问题