我需要遍历 NSUserDefaults 中的所有键并将它们转换为另一种格式。稍后我想以编程方式将它们传回。
我有很多键,但我无法通过命名约定或其他方式来确定我是否使用了 setObject 或 setInteger 等。
如果我使用 setObject,这将使我能够在该键上使用 integerForKey 吗?
如果我不想要我可以用它代替吗?
最佳答案
不,如果您使用integerForKey:
,您应该无法获取正确的对象。但是,如果使用 objectForKey:
,则可以获得正确的对象。这是因为如果您使用了 setInteger:forKey:
,它会自动调用 setObject:forKey:
。因此,将会有一个 key 对象。因此,您要做的就是迭代键,使用 objectForKey:
获取对象并将其转换为您想要的数据类型。
关于iphone - NSUserDefaults setObject 和 IntegerForKey,在同一个键上使用,如果不是,我该如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8586580/