草庐IT

NSUserDefaults

全部标签

ios - 在 iOS 上访问 NSUserDefaults 被认为便宜吗?

简而言之:它快速/便宜吗?将NSUserDefaults的值存储在内存中以加快访问是否有意义?更长:比方说,我有大量的值要存储并从NSUserDefaults中读取;需要经常访问(读取)这些值。在下面的代码片段中,我初始化了一个私有(private)存储属性,并使其与相应的NSUserDefaults值保持同步-所以当我需要读取它时,我读取该属性。如果直接从默认值读取实际上很快,我显然会删除私有(private)属性。但我不确定。快吗?privatevar_loggedIn=NSUserDefaults.standardUserDefaults().boolForKey("logged

ios - 如何在 NSUserDefaults 中存储和加载 backgroundColor

商店--(IBAction)setMyColor:(id)sender{if(sender==yellowButton){[colorViewsetBackgroundColor:[UIColoryellowColor]];}NSUserDefaults*userDefaults=[NSUserDefaultsstandardUserDefaults];UIColor*strColor=[colorViewbackgroundColor];[userDefaultssetObject:strColorforKey:@"myColor"];[userDefaultssynchronize

ios - 序列化 CGAffineTransform 以存储在 NSUserDefaults 中

如何在NSUserDefaults中存储CGAffineTransform?由于它包含6个浮点值,因此需要大量重复工作才能将每个值存储为float...所以我想知道是否有更聪明的方法。 最佳答案 使用NSStringFromCGAffineTransform()和CGAffineTransformFromString()。使用NSValue,我得到:-[NSUserDefaultssetObject:forKey:]:Attempttoinsertnon-propertyvalue'CGAffineTransform:{{0.929

ios - 使用 NSUserDefaults 杀死应用程序后保存的数据丢失

我在我的设置中使用NSUserDefaults。即使我按下主页键让应用程序进入后台,应用程序也能正常运行,但如果我终止该应用程序,保存在NSUserDefaults中的数据将会丢失。这是我的代码。我有使用同步。第一次初始化:if(![userDefaultsintegerForKey:kORFootageAirPlayModeKey]){[userDefaultssetInteger:TRUEforKey:kORFootageAirPlayModeKey];}[userDefaultssynchronize];在viewController中读取值:airPlayMode=[[NSUs

ios - NSUserDefaults 正在返回一个可变数组

我正在为MVC构建模型,但遇到与AppleDocumentation相反的异常情况“从NSUserDefaults返回的值是不可变的,即使您将可变对象设置为该值。”,[[NSUserDefaultsstandardUserDefaults]objectForKey:@"key"]正在返回一个可变strong>数组。我在Xcode4D199中为iOS创建了一个空应用程序,以重新创建条件并确认它不对我项目中的其他因素负责。我正在设置NSMutableArray,如下所示:-(void)setupTest{NSMutableArray*mutableArray=[[NSMutableArra

ios - 覆盖 NSUserDefaults 中的 AppleLanguages

如果我覆盖/更改NSUserDefaults中的AppleLanguages,当系统语言更改时,iOS不会再更新列表。如果我保持列表不变,数组中的第一个对象将始终是系统语言,但是,如果我在索引0处插入一个新对象并稍后更改系统语言,iOS不会将新语言放在顶部名单了。有没有一种方法可以更改NSUserDefaults中的AppleLanguages,并在系统语言更改时仍然让系统更新列表?Accatyyc的解决方案非常有效,如果您使用的是Swift,这里是解决方案:创建一个main.swift文件,在接受的答案中添加代码的Swift版本:NSUserDefaults.standardUser

ios - NSUserDefaults 不保存

我的sprite工具包应用程序出现问题,我的NSUserDefaults变量无法正常工作。在createSceneContents(我知道它被调用)if(![defaultsobjectForKey:@"obj"]){difficultyLabel.text=@"Difficulty:Easy";[defaultssetObject:@"Easy"forKey:@"obj"];}else{difficultyLabel.text=[NSStringstringWithFormat:@"Difficulty:%@",[defaultsobjectForKey:@"diff"]];}然后当

ios - 什么会导致 NSUserDefaults 被清除

我的应用程序收到一些奇怪的报告,其中存储在NSUserDefaults中的应用程序设置被清除。这些报告都在iOS7s上我知道您可以通过卸载或调用来手动清除NSUserDefaultsNSString*appDomain=[[NSBundlemainBundle]bundleIdentifier];[[NSUserDefaultsstandardUserDefaults]removePersistentDomainForName:appDomain];但是否还有任何其他已知原因导致应用清除其设置? 最佳答案 如果您不想让您的数据被删除

ios - 存储在 NSUserDefaults 中的数据是否会在应用程序更新和应用程序重新安装(删除-安装)时持续存在?

这对我的应用很重要,因为我想在那里存储应用UDID,Apple建议从iOS5.0开始创建应用特定的UDID。 最佳答案 用户默认值通过更新保留,但不会通过删除和重新安装应用程序保留。目前,keychain是通过删除并重新安装应用程序来保留的,但没有记录是哪种方式,因此依赖这种行为可能会有风险。您还可以将值写入iCloud键/值存储。这将在该用户安装的所有应用程序中持续存在,这也是它的设计目的。 关于ios-存储在NSUserDefaults中的数据是否会在应用程序更新和应用程序重新安装(

ios - NSUserDefaults 不在 iOS 8 中的应用程序和自定义键盘之间存储值

我正在尝试在我的应用程序和自定义键盘扩展之间共享数据。我在主应用程序目标和自定义键盘目标中都打开了应用程序组。在我的主应用程序中,我添加了一个包含以下内容的对象:NSUserDefaults*userDefaults=[[NSUserDefaultsalloc]initWithSuiteName:@"group.mycompany.myapp"];[userDefaultssetObject:someObjectforKey:@"KEY"];在控制台中打印[userDefaultsdictionaryRepresentation]显示该对象已保存,调用[userDefaultsobje