ios - NSUser默认一个键有多种数据类型

标签 ios iphone objective-c cocoa-touch nsuserdefaults

阅读各种答案后,我了解到 NSUserDefaults 可以为一个键保存多种数据类型。但我找不到的是如果

[NSUserDefaults standardUserDefaults]removeObjectForKey:"someKey"];

删除与该键关联的所有数据类型的所有对象?

最佳答案

您不能为一个键存储不同类型的对象。

如果您为某个键设置一个对象,它将删除旧的对象。

但是,如果您正在寻找一种为一个键存储多个数据的方法,您可以存储 NSDictionary。

例如:

MyObject *obj = [[MyObject alloc] init];
NSString *otherType = @"mystring";

NSDictionary *multipleData = @{ @"key1" : obj , @"key2" : otherType}

[[NSUserDefaults standardUserDefaults] setObject: multipleData forKey:@"multipleData"];
[[NSUserDefaults standardUserDefaults] synchronize];

如果你想删除它:

[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"multipleData"];
[[NSUserDefaults standardUserDefaults] synchronize];

关于ios - NSUser默认一个键有多种数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22681803/

相关文章:

ios - 如何在 iOS 10 中设置应用程序图标角标(Badge)编号?

iphone - iPad 封面流程

ios - 如何在iPhone的背景模式下获取当前位置?

ios - ld : framework not found FileProvider for architecture x86_64

objective-c - 在快速枚举中跟踪索引

ios - object-c 中的属性下划线实例和 getter 及其在 swift 中的等效项

iphone - View 不是从iOS7状态栏的底部开始

iphone - 另一个 View 中的弹出 View

iphone - 在 IOS 上寻找合适的数据存储

iphone - RMMapView setCenterCoordinate 函数不正常