NSUserDefaults removeObjectForKey 与 setObject:nil

2024-01-17

下面两行等价吗?

1. [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"example key"]

2. [[NSUserDefaults standardUserDefaults] setObject:nil forKey:@"example key"]


是的,两行代码是等效的,都会导致 nil read

id obj = [[NSUserDefaults standardUserDefaults] objectForKey:@"example key"];

NSUserDefaults如果未找到密钥,将返回 nil。我建议使用removeObjectForKey而不是将其设置为零。

这是如何测试将键值设置为 nil 是否删除了键条目NSUserDefaults standardUserDefaults.

NSArray *keys = [[[NSUserDefaults standardUserDefaults] dictionaryRepresentation] allKeys] copy];
   for(NSString *key in keys) {
       NSLog(@"Key Name: %@", key);
}
[keys release];

或者简单地转储键/值字典NSUserDefaults standardUserDefaults

NSLog(@"All contents of NSUserDefaults: %@", [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NSUserDefaults removeObjectForKey 与 setObject:nil 的相关文章

  • 使用 UserDefaults 保存图像数组

    我有一个应用程序 用户可以在其中拍照 拍照后应将其保存到UserDefaults 我不断收到此错误 cannot invoke setObject with an argument list of type UIImage type for
  • 通用 iOS 应用程序中的单独设置?

    我正在开发一个通用的 iOS 应用程序 但一些用户设置在 iPad 上没有多大意义 我可以指定单独的 Settings bundle 或 Root plist 在 iPad 上使用吗 从 4 0 开始 您将能够为 ipad 重命名文件 使其
  • 无法在 Beta 5 中将 Swift 字典写入 NSUserDefaults

    我一直在开发一个应用程序 在该应用程序中我使用 NSUserDefaults 来保存字典以在程序的其他地方使用 自 Beta 1 以来 此功能一直运行良好 现在 随着最新的更新 beta 5 此功能不再有效 看来他们已经消除了以这种方式保存
  • 存储在 NSUserDefaults 中的数据是否会在应用程序更新和应用程序重新安装(删除-安装)时持续存在?

    这对我的应用程序很重要 因为我想在那里存储应用程序 UDID Apple 建议从 iOS 5 0 开始创建应用程序特定的 UDID 用户默认值会通过更新保留 但不会通过删除和重新安装应用程序保留 目前 钥匙串是通过删除并重新安装应用程序来持
  • 如何使用 NSUserDefaults 注册用户默认值而不覆盖现有值?

    我有一个 AppDelegate 类 void initialize我用来注册一些默认值的方法 这是我使用的代码 void initialize NSDictionary defaults NSDictionary dictionaryWi
  • 如何使用 NSUserDefaults 存储字典数组

    尝试存储字典数组NSUserDefaults var theTasks String Any num 1 title example colour red let defaults NSUserDefaults standardUserDe
  • Swift NSUserDefaults NSArray 使用 objectForKey

    我对 Swift 还很陌生 而且我已经陷入了困境 我正在尝试从中检索数据NSUserDefaults并将其存储在数组中 tasks lazy var tasks NSArray let def NSUserDefaults standard
  • NSUserDefaults 有哪些限制?

    在 iPhone 中永久存储数据通常是使用 Core Data 或 sqlite3 完成的 大多数人更喜欢使用 NSUserDefaults 作为应用程序首选项的存储 而不是将其用作普通数据库 例如 sqlite 我发现 NSUserDef
  • 将 UIPrinter 保存到 NSUserDefaults

    我正在尝试像这样保存 UIPrinter 对象 IBAction setPrinterInSettings id sender UIPrinterPickerController picker UIPrinterPickerControll
  • 如何在 Objective-c 中将结构保存到 NSUserDefaults 中?

    如何保存自定义struct to NSUserDefaults struct Paging NSInteger currentPage NSInteger totalResults NSInteger resultsPerPage type
  • 其他程序可以读取我的 NSUserDefaults 设置吗?

    在iPhone上 不包括越狱手机 其他应用程序可以读取您使用设置的值吗NSUserDefaults 我正在考虑为我们的服务保存客户的用户名 密码 并希望确保其安全 不可以 其他应用程序无法看到您的数据 也就是说 您可能应该考虑使用keych
  • iOS - 保存到 UserDefaults 是否同步?

    UserDefaults 上的操作是同步的吗 例如 第二次保存是否等待第一次保存完成 UserDefaults standard set myValue1 forKey myValue1 UserDefaults standard set
  • 将 NSUserDefaults 转换为钥匙串?

    所以 NSUserDefaults 非常容易使用 但显然 它不太安全 没有加密 当然 客户希望应用程序首选项是安全的 因为它包含敏感数据 但钥匙串是安全的 尽管很难编码 显然 那么有没有一种方法可以轻松地将 NSUserDefaults 代
  • 用户默认值/KeyedArchiver 挫败感

    我正在开发一个作业应用程序 该应用程序为每个作业使用自定义作业对象 我试图在 standardUserDefaults 中存储 NSMutableArray 通过 initWithArray 转换为 NSArray 但在保存和重新加载数组时
  • 如何在 iOS 4 上获取更新 NSUserDefault?

    我正在开发一个iPhone应用程序 由于多任务 我在iOS4上遇到了问题 此应用程序具有在 Settings bundle 中定义的默认设置 如果我运行我的应用程序 那么我就会离开它 所以它会进入后台 我将更改设置并重新启动应用程序 它退出
  • NSUserDefaults 和 Lion 下的沙箱

    根据 Apple 的要求 将我的项目之一移至支持沙箱 我像这样使用 UserDefaults NSUserDefaults standardUserDefaults setObject myNumber forKey myNumberKey
  • 在 iOS 中加载/保存设置

    我在 AppDelegate 中定义了以下两个过程 保存设置和加载设置 单击保存按钮后 我将在 AppDidFinishLaunching 方法中调用 loadSettings 过程 并在设置视图中调用 saveSettings 过程 这两
  • 在 iOS 应用程序中处理数据(选择什么?NSData、CoreData、sqlite、PList、NSUserDefaults)

    当我开发 iPhone 应用程序 时间跟踪器 待办事项列表等 时 我永远不知道处理数据的最佳方式是什么 有一次我使用了 plist 下次使用 sqlite 或 CoreData 您如何决定什么最适合您的项目 只谈数据管理 例如 如果您想开发
  • 在模拟器上卸载应用程序后,NSUserDefaults 未清除

    这听起来可能很菜鸟 我想检查用户是否第二次进入我的应用程序 以便保留我正在使用的运行计数NSUserDefaults 我已经在我的中实现了以下代码rootViewController s viewDidLoad method NSUserD
  • 在 iPhone 中保存会话数据

    我想将数据存储在应用程序中的不同点 以便应用程序中的对象可以访问这些数据 类似于 php 中的 session 或全局变量 我知道我可以使用 NSUserDefaults 但我不确定如何继续向它添加值然后访问它 例如 首先我想存储登录期间使

随机推荐