[英]how to use setObject: forKey where Key is also a NSMutableDictionary?
[英]NSUserDefaults setObject and IntegerForKey, use on the same key, if not how can I workaround?
我需要遍历NSUserDefaults中的所有键,并将它们转换为另一种格式。 稍后,我将以编程方式将它们转移回去。
我有很多键,我无法按照我的命名约定或其他方式来确定我使用的是setObject还是setInteger等。
如果我使用setObject,这将使我能够在该键上使用integerForKey吗?
如果我不想使用,我可以改用吗?
不,如果您使用integerForKey:
那么您将无法获得正确的对象。 但是,如果使用objectForKey:
则可以获得正确的对象。 这是因为如果使用过setInteger:forKey:
它将自动调用setObject:forKey:
setInteger:forKey:
因此,密钥会有一个对象。 因此,您要做的就是遍历键,使用objectForKey:
获取对象,并将其转换为所需的数据类型。
我很确定使用setObject将允许您以后使用integerForKey。
另一种方法是在项目中添加一个plist并将所有内容存储在其中。 它基本上与NSUserDefaults所做的相同,只是您将手动完成所有操作。 您可以只将plist的内容读取到NSArray或NSDictionary(首先选择使用其构造的那个),然后从该对象访问所需的成员。
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.