我已经使用标准的Settings.app方法为iPhone创建了一个定制的root.plist
包。我想知道是否有一种方法可以确定用户何时在我的应用程序中更改这些设置...
发布于 2015-11-16 00:33:19
该语法适用于Swift 2。使用Swift时,您可以执行以下操作来订阅NSUserDefaults的更改:
NSNotificationCenter.defaultCenter().addObserver(self, selector: "defaultsChanged:", name: NSUserDefaultsDidChangeNotification, object: nil)
然后像这样创建方法:
func defaultsChanged(notification:NSNotification){
if let defaults = notification.object as? NSUserDefaults {
//get the value for key here
}
}
发布于 2015-11-23 09:09:49
一个使用键“instantWeb”访问特定于应用程序的布尔类型设置的示例:
func observeUserDefaults(notification: NSNotification) {
print("Settings changed")
if let defaults = notification.object as? NSUserDefaults {
if defaults.valueForKey("instantWeb") as! Bool==true {
print("Instant Web ON")
}
}
}
发布于 2015-05-23 00:10:07
收听设置中的更改
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(someMethod:) name:NSUserDefaultsDidChangeNotification object:nil];
记住删除观察者,一旦这个视图控制器不再在内存中。
https://stackoverflow.com/questions/3927402
复制相似问题