我想知道将NSUserDefaults
设置为需要使用的地方是正确的,而不是设置一个管理中心位置。例如,在我的游戏中,在GamePlayScene
课程中,我为分数和等级设置了NSUserDeflaults
,在设置课程中,我为声音效果设置了NSUserDefaults
。这些只是我设置的NSUserDefaults
中的一小部分。如果有一个中心位置(类),他们被管理是一个好主意,它应该在哪里(类),我应该如何管理它们。谢谢。
答案 0 :(得分:1)
NSUserDefaults是一个密钥存档。一个好的设计可能会使用以下方法之一:
+(void)setScore:(int)score
等类方法围绕NSUserDefaults编写一个简单的包装器,以设置分数,而无需知道用于存储分数的密钥。项目越复杂,第二种方法就越好,因为创建其他方法的开销减少了,有利于减少错误,通常是使用错误的键作为值(即使用级别密钥存储得分)。 / p>
答案 1 :(得分:0)
UserDefaults缓存在内存中,只有在同步时才会写入。您可以随意写信给他们。集中这可能会使事情变得比需要的更复杂。
重要的是在正确的时刻同步它们。当应用程序停用或终止时。
在我看来,UserDefaults已经是一个集中的地方。
答案 2 :(得分:0)
[[NSUserDefaults standardUserDefaults]setObject:@"stringValue" forKey:@"strkey"];
[[NSUserDefaults standardUserDefaults]synchronize];
NSString *str=[[NSUserDefaults standardUserDefaults]objectForKey:@"strkey"];
NSlog(@"string is-%@",str);