首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何确定iOS上的设置何时更改

如何确定iOS上的设置何时更改
EN

Stack Overflow用户
提问于 2010-10-14 03:47:03
回答 4查看 21.7K关注 0票数 31

我已经使用标准的Settings.app方法为iPhone创建了一个定制的root.plist包。我想知道是否有一种方法可以确定用户何时在我的应用程序中更改这些设置...

EN

回答 4

Stack Overflow用户

发布于 2015-11-16 00:33:19

该语法适用于Swift 2。使用Swift时,您可以执行以下操作来订阅NSUserDefaults的更改:

代码语言:javascript
复制
NSNotificationCenter.defaultCenter().addObserver(self, selector: "defaultsChanged:", name: NSUserDefaultsDidChangeNotification, object: nil)

然后像这样创建方法:

代码语言:javascript
复制
func defaultsChanged(notification:NSNotification){
    if let defaults = notification.object as? NSUserDefaults {
       //get the value for key here
    }
}
票数 14
EN

Stack Overflow用户

发布于 2015-11-23 09:09:49

一个使用键“instantWeb”访问特定于应用程序的布尔类型设置的示例:

代码语言:javascript
复制
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")
        }
    }
}
票数 2
EN

Stack Overflow用户

发布于 2015-05-23 00:10:07

收听设置中的更改

代码语言:javascript
复制
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(someMethod:) name:NSUserDefaultsDidChangeNotification object:nil];

记住删除观察者,一旦这个视图控制器不再在内存中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3927402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档