我在运行时向NSUserDefaults添加值,并将键设置为[NSStringstringWithFormat:@"decrement%@",course_id];我正在一个一个地设置对象,有什么方法可以获取所有键以“递减”开头的userdefaults对象吗?或者我必须进入一个循环并通过一个一个地制作精确的键来获取对象?注意:-我接受反对票作为一种健康的批评方式,但请写下原因以便我可以改进。 最佳答案 你可以像这样获取NSUserDefaults的所有字典键:NSArray*arrKeys=[[[NSUserDefaultssta
我非常广泛地使用NSUserDefaults。我在NSUserDefaults中保存了许多关于用户的信息数组,稍后在另一个View中使用它们。我的问题是,这是一种错误的方法吗?或者这可能是发送到AppStore的问题?谢谢你.. 最佳答案 关于在NSUserDefaults中可以存储什么或多少信息没有硬性规定(除了你永远不应该存储安全数据)。你肯定不会被AppStore拒绝,除非你滥用NSUserDefaults到导致崩溃的地步。不过,我对您关于在另一个View中使用的说法感到困惑。NSUserDefaults旨在跨session保
我正在尝试使用NSUserDefaults保存一个NSMutableDictionary。我在stackoverflow中阅读了很多关于该主题的帖子...我还找到了一个可行的选项;然而不幸的是它只工作了一次然后它开始只保存(null)。有人有提示吗?谢谢要保存的代码:[[NSUserDefaultsstandardUserDefaults]setObject:[NSKeyedArchiverarchivedDataWithRootObject:dictionary]forKey:@"Key"];[[NSUserDefaultsstandardUserDefaults]synchroni
我们可以将核心日期实体存储到NSUserNSUserDefault中吗?因为我正在尝试保存实体。但是它在我想使用的地方返回null。但是如果我尝试保存实体属性。它返回阀门。如果我使用以下内容保存实体,下面是我的代码示例MyEntity*newEntity=[self.fetchControllerobjectAtIndexPath:indexPath];[[NSUserDefaultsstandardUserDefaults]setObject:newEntityforKey:@"Act"];并使用以下方法获取实体。结果为空。MyEntity*entityAtOtherClass=[[
我正在尝试将具有数组值的NSDictionary保存到NSUserDefaults但我遇到了一些奇怪的问题。我的NSDictionary有NSStrings用于keys并且每个value都是一个NSArrayNSNumbers。当我打印字典时,一切都很好。我将这本字典写入NSUserDefaults,如果我立即读回它,一切都很好。使用这个一切接缝就好了:[[NSUserDefaultsstandardUserDefaults]setObject:self.selectedOptionPositionsforKey:PREF_OPTIONS_KEY];[[NSUserDefaultsst
我在开发内容拦截器扩展时遇到了一个非常奇怪的问题。我正在尝试使用NSUserDefaults和一个应用组在它和我的应用之间共享数据,但是从应用组读取某些内容总是会导致扩展崩溃。这是一个有效的示例代码:funcbeginRequestWithExtensionContext(context:NSExtensionContext){NSUserDefaults(suiteName:"group.Bug")!.setBool(true,forKey:"here")NSUserDefaults(suiteName:"group.Bug")!.synchronize()letattachment
我有一个现有的大型应用程序使用plists来存储其数据。我在用户默认值中存储应用程序状态,指示当前选择的项目、当前用户和各种其他当前选择。当数据在plist中时,这工作得很好。现在我正在重构以使用CoreData而不是plists。我想将对对象实例的引用存储为当前查看的对象。我知道sqlite和CoreData在数据库中有这个对象的ID,但我不确定在用户默认值中存储什么。我想到了三个选项:生成我自己的顺序ID,将其与我想记住的对象一起存储为“当前”,将该ID存储在用户默认值中。尝试使用NSManagedObjectID并存储在用户默认值中。我“认为”我可以将它转换为字符串,如下所示。这
这个问题在这里已经有了答案:BrowsethefilescreatedonadevicebytheiOSapplicationI'mdeveloping,onworkstation?(6个答案)关闭4年前。在Xcode9.3和iOS模拟器中,[NSUserDefaultsstandardUserDefaults]将值存储在:/Users/{UserName}/Library/Developer/CoreSimulator/Devices/{DeviceGUID}/data/Containers/Data/Application/{applicationGUID}/Library/Pre
我尝试从已保存的NSUserDefaults中检索NSMutableArray。我存储NSMutableArray:NSUserDefaults*defaults=[NSUserDefaultsstandardUserDefaults];NSMutableArray*mySavedTremps=[[defaultsobjectForKey:UD_MY_TREMPS]mutableCopy];if(!mySavedTremps)mySavedTremps=[[NSMutableArrayalloc]init];NSMutableDictionary*trempDict=NSMutable
我的游戏中有一个NSUserDefaults样式的分数结构,并希望在终止应用程序时保存这些值。是否有某种方法可以在重新打开时保存并从文件中重新加载? 最佳答案 不要。每次更改后保存它们(或者,如果您知道您将在短时间内进行大量更改,请在更新后批量保存它们)。applicationWillTerminate:基本上不会在当前版本的iOS中调用(因为引入了后台),因此您不应该依赖它。此外,请考虑如果您的应用程序崩溃并且未保存任何用户信息会发生什么情况-这不是良好的用户体验。所以,永远不要依赖applicationWillTerminate