2011-03-10 69 views
0

问题我已经在Mac OS X NSUserDefaults的关于几个问题:NSUserDefaults的左右

  1. 什么时候使用NSUserDefaults的由registerDefaults提供的字典吗?只有在第一次打开应用程序或每次打开应用程序时?
  2. 来自NSUserDefaults的信息存储在哪里?
  3. 如何重置NSUSerDefaults?

谢谢!

回答

3
  1. 只有第一次。但是您可以强制应用程序重新使用终端的默认值。
  2. 〜/库/首选项/ YourIdentifier.plist(如com.apple.finder.plist)
  3. 终端:默认删除YourIdentifier(如com.apple.finder)
    编号:[NSUserDefaults resetStandardUserDefaults];
+0

感谢您的快速回复!我还有一个问题,我不想创建一个新的问题。如果我的NSSlider绑定了一个值,并且我以编程方式更改了该值,那么我的NSSlider会自动将其旧值更改为新值吗? (因为它是绑定的)。我尝试过,但这并不奏效,但它应该正确吗?如果它没有绑定,它有什么作用?谢谢! – user635064 2011-03-10 19:56:32

+1

对于1 .:实际上,每次在保存的用户默认值中不存在的任何键都使用'registerDefaults:'字典。除非它们改变,否则这些默认值不会被写出。 – Wevah 2011-03-10 20:29:16

+0

@ user635064:你*应该*为此创建一个新问题。这与这个问题无关。 – 2011-03-10 20:56:05

0

其实它应该改变。我会用像NSTextField这样的其他控件来尝试它。当它不起作用,你做错了

绑定的想法正是你所想的那样。