![](/img/trans.png)
[英]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.