san*_*san 9 iphone settings-bundle
我让用户在iphone的设置区域中更改了他们的设置.在下一次网络同步期间,我想将用户更改发送到服务器.但只有做出改变.
但是,如何知道用户何时在设置区域内进行了更改?
如果可以,我想避免选择始终发送信息,无论是否更改,或者首先从服务器获取信息,如果与用户默认值不同,则更新.
有没有一个很好的和优雅的方法来解决这个问题?谢谢您的帮助!
一个星期后,没有答案......这个问题太难了,还是没有任何意义?
Nic*_*ver 16
啊傻我!在这里,我们以优雅的方式前进.在XCode中的Apple文档中搜索AppPrefs,它将显示一个示例应用程序,它完全按照您的要求执行操作.只需编译并运行!它使用NSUserDefaultsDidChangeNotification.
这是用于注册观察者的代码:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(defaultsChanged:)
name:NSUserDefaultsDidChangeNotification
object:nil];
Run Code Online (Sandbox Code Playgroud)
老答案:
看起来好像你可以从NSUserDefaults中获得修改日期.到目前为止,我只能想到这样:
NSUserDefaults *previousDefaults = [someInstance previousUserDefaults];
NSUserDefaults *currentDefaults = [NSUserDefaults standardUserDefaults];
if([previousDefaults isEqualToDictionary:currentDefaults])
{
[someOtherInstance sendModifiedUserDefaultsToServerWithDefaults:currentDefaults];
[yetAnotherInstance saveModified]
}
Run Code Online (Sandbox Code Playgroud)
当第一次启动应用程序时,您必须自己将用户默认值保存为字典到磁盘:默认值.然后,每次打开应用程序时,您都会比较这两个词典.如果他们
| 归档时间: |
|
| 查看次数: |
5278 次 |
| 最近记录: |