所以我设置了一个设置包,只做一件事。允许用户在我的应用程序中选择TouchUI和GestureUI,由于一些奇怪的原因,我无法获得设置包来控制它。它保持一个,即使我有If else语句也不会切换。最初我有var touchCheck = userDefaults.boolForKey("myGestureEnabledDisabled")
,但当我继续关闭应用程序(Multitask> SwipeUp应用程序)并通过跳板重新运行应用程序时,它根本没有改变布尔值。设置应用程序可以在NO
处拥有捆绑包,但是日志表示手势已打开。看完教程之后,我将boolForKey
更改为valueForKey
,导致构建失败,代码中没有错误,如下所示。
override func viewDidLoad() {
var userDefaults = NSUserDefaults.standardUserDefaults()
userDefaults.synchronize()
var touchCheck = Bool(userDefaults.valueForKey("myGestureEnabledDisabled"))
if touchCheck {
whenGuestureIsEnabled()
} else {
whenGestureIsDisabled()
self.navBar.hidden = false
}
}
func whenGuestureIsEnabled() {
NSLog("Gesture is suppose to be on")
}
func whenGestureIsDisabled() {
NSLog("Gesture is OFF")
}
也许从我的想法来看,我不应该在UIViewController中这样做,但我在youtube教程中看到了这个,它在OBJ-C中。
答案 0 :(得分:1)
你应该转向bool,而不是创建一个新的:
//notice (Bool) cast in the beginning
var touchCheck = (Bool)userDefaults.valueForKey("myGestureEnabledDisabled")