NSUserdefaults 使用 xcodebuild

Posted

技术标签:

【中文标题】NSUserdefaults 使用 xcodebuild【英文标题】:NSUserdefaults using xcodebuild 【发布时间】:2012-10-03 12:35:34 【问题描述】:

xcodebuild 有一个参数-userdefault=value。如何使用它来设置 NSUserDefaults ?我必须指定一个文件/plist吗?

【问题讨论】:

我从未使用过它,但它看起来具有name=value 语义,并且不清楚正在更改哪些用户默认值... 【参考方案1】:

您只需将其用作 -name=value 语法,它定义了 NSUserDefaults 中的值(在 NSArgumentDomain 级别),以便您可以使用 [[NSUserDefaults standardUserDefaults] valueForKey:@"name"] 检索它,就像您通常做的那样。

这是一种覆盖其他域的默认值的方法,例如应用程序域中的默认值(由应用程序首选项的 plist 定义)。

请参阅here in the documentation 了解更多信息(尤其是表 1-2)和“论据域”段落。


参数域

参数域包含从命令行参数设置的值(如果您从命令行启动应用程序)并由NSArgumentDomain 常量标识。从命令行设置的值由系统自动放入该域中。要向此域添加值,请在命令行上指定首选项名称(前面带有连字符)并在其后面加上相应的值。例如,以下命令启动 Xcode 并将其 IndexOnOpen 首选项的值设置为 NO

    localhost> Xcode.app/Contents/MacOS/Xcode -IndexOnOpen NO

从命令行设置的首选项临时覆盖存储在用户默认数据库中的既定值。在前面的示例中,将 IndexOnOpen 首选项设置为 NO 会阻止 Xcode 自动索引项目,即使用户默认数据库中的首选项设置为 YES

【讨论】:

以上是关于NSUserdefaults 使用 xcodebuild的主要内容,如果未能解决你的问题,请参考以下文章

技术 NSUserDefaults的使用

使用常量 NSString 作为 NSUserDefaults 的键

使用 NSUserDefaults 保存和检索 UILabel 值

为啥在 iOS 中使用 NSUserDefaults?

NSUserdefaults 使用 xcodebuild

何时(不)滥用 NSUserDefaults