我想创建一个按钮,将我的所有调整首选项包设置(滑块和开关)恢复为默认值。默认值在我的plist中指定。那么我需要读取我的plist来获取这些值,然后手动为每个键写入我的plist吗?在这种情况下,如果用户按下该按钮,滑块将立即返回其默认位置,或者是否必须重新启动应用程序。
谢谢。
inline float GetDefault(NSString *Kdefault)
{
return [[[NSDictionary dictionaryWithContentsOfFile:PLIST_PATH] valueForKey:Kdefault] floatValue];
}
- (void)resetDefaults:(PSSpecifier *)specifier
{
NSMutableDictionary *defaults = [NSMutableDictionary dictionaryWithContentsOfFile:PLIST_PATH];
[[NSUserDefaults standardUserDefaults] setValue:0 forKey:@"Kdefault"];
}
答案 0 :(得分:0)
你不应该“为每一个键手动写入你的plist”。仅这一点就违背了你想要完成的所有事情,使得这些值不再是默认值,因为你过度编写了这些默认值。因此,你没有办法重置它们。只需将用户首选项保存到NSUserDefaults
(NSUserDefaults),因为从技术上讲,这是其目的。如果您想将其设置回plist中指定的默认值,则可以根据需要进行设置