Swift NSUserDefaults上的属性观察员
我有一组按钮,当按下两个按钮时,会触发NSUserDefault,但我需要ViewController中的观察者来执行一些动画Swift NSUserDefaults上的属性观察员,swift,Swift,我有一组按钮,当按下两个按钮时,会触发NSUserDefault,但我需要ViewController中的观察者来执行一些动画 这在swift中可能吗?我可以使用DidSet:和WillSet:吗?或者还有其他选择吗 最简单的方法是在计算变量上结合用户默认值和动画,如下所示: var defaultName:String{ get { var returnValue: NSString? = NSUserDefaults.standardUserDefaults().o
这在swift中可能吗?我可以使用DidSet:和WillSet:吗?或者还有其他选择吗 最简单的方法是在计算变量上结合用户默认值和动画,如下所示:
var defaultName:String{
get {
var returnValue: NSString? = NSUserDefaults.standardUserDefaults().objectForKey("defaultName") as? NSString
if returnValue == nil //Check for first run of app
{
returnValue = ""
}
return returnValue!
}
set (newValue) {
NSUserDefaults.standardUserDefaults().setObject(newValue, forKey: "defaultName")
NSUserDefaults.standardUserDefaults().synchronize()
// start your animations here
}
}
下一步单击按钮,只需更改defaultName值,即可存储新值并触发动画。最简单的方法是将用户默认值和动画组合到计算变量上,如下所示:
var defaultName:String{
get {
var returnValue: NSString? = NSUserDefaults.standardUserDefaults().objectForKey("defaultName") as? NSString
if returnValue == nil //Check for first run of app
{
returnValue = ""
}
return returnValue!
}
set (newValue) {
NSUserDefaults.standardUserDefaults().setObject(newValue, forKey: "defaultName")
NSUserDefaults.standardUserDefaults().synchronize()
// start your animations here
}
}
下一步单击按钮,只需更改defaultName值,即可存储新值并触发动画您是否简单地尝试了DidSet?您是否简单地尝试了DidSet?您好,谢谢,我在一个VC上有按钮,在另一个VC上有动画和数据连接。。。这是否仍然可行?如果使用数据作为计算属性(如我上面所述),则可以在每个视图控制器中放置变量,如果其中一个变量更改其值,则所有其他变量都将自动更新。如果您使用这些存储属性的值来更新视图,那么只需将所有这些更新放在viewVillAppear方法上。谢谢,我在一个VC上有按钮,在另一个VC上有动画和数据连接。。。这是否仍然可行?如果使用数据作为计算属性(如我上面所述),则可以在每个视图控制器中放置变量,如果其中一个变量更改其值,则所有其他变量都将自动更新。若您使用这些存储属性的值来更新视图,那个么只需将所有这些更新放在viewVillAppear方法上即可