我想做一个按钮,它将返回我所有的调整偏好包设置(滑块和开关)到它们的默认值。默认值在我的列表中指定。那么我是否需要读取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"];
}
您不应该"为每个键手动写入您的plist "。这本身就违背了你想要完成的一切,使这些值不再是默认值,因为你重写了这些默认值。因此,你没有办法重置它们。只需将用户首选项保存到NSUserDefaults
(NSUserDefaults),因为从技术上讲这就是它的目的。当您想将其设置为列表中指定的默认值时,您可以根据需要进行设置