簡體   English   中英

NSUserDefaults setObject和IntegerForKey,在同一密鑰上使用,如果沒有,我該如何解決?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM