我爲該類創建了一個自定義類&。我想將該對象存儲到NSUserDefault中。將對象設置爲userfaults時出現錯誤。我該如何設置?如何在用戶默認值中存儲自定義對象 - IOS
回答
你必須在你的類中實現NSCoding協議&實現協議方法。 這只是序列化。在存儲對象時,您應該序列化(NSKeyedArchiver)類&與檢索相同,您應該反序列化(NSKeyedUnArchiver)該對象。
方法是
- (無效)encodeWithCoder:(NSCoder *)aCoder;
- (id)initWithCoder:(NSCoder *)aDecoder;
一個更詳細的例子是幫助。我已經實現了委託方法,但不知道要放入哪些方法。我有一個非常簡單的對象與幾個NSString屬性。 – 2012-08-27 20:55:35
默認對象必須是一個屬性列表,即,(對集合或 的實例的組合)的一個實例:NSData的,的NSString, 的NSNumber,NSDate的, NSArray或NSDictionary。如果要存儲任何其他類型的對象,則通常應將其存檔以創建一個NSData實例。
創建NSData
實例的最簡單方法是使用NSKeyedArchiver
。
最可能的原因是您的結構中有難以存檔的東西。
下面是從類NSUserDefaults的參考報價,你可能會發現有用:
的類NSUserDefaults的提供用於訪問常見類型,如漂浮的簡便方法,雙打,整數,布爾和URL。一個默認對象必須是一個屬性列表,也就是一個實例(或集合的實例組合):NSData,NSString,NSNumber,NSDate,NSArray或NSDictionary。如果你想存儲任何其他類型的對象,你通常應該將其存檔以創建一個NSData實例。有關更多詳情,請參閱首選項和設置編程指南。
編輯。 斯蒂芬毆打拳擊,給男人一個獎:)
- 1. 在Zend_Auth的默認存儲器中存儲用戶對象
- 2. 不能存儲對象用戶默認
- 3. ios存儲自定義對象
- 4. Swift iOS如何在本地存儲自定義類型對象?
- 5. Parse.com - 如何存儲自定義對象
- 6. 在NSUserDefaults中存儲自定義對象
- 7. 在NSMutableDictionary中存儲自定義對象
- 8. 如何在NSUserDefaults中存儲自定義對象
- 9. 如何在NSMutableDictionary中存儲自定義對象?
- 10. 如何在Swift中使用CoreData存儲自定義對象?
- 11. 如何使用iphone SDK中的NSUser默認值傳遞自定義類對象?
- 12. 如何在VueJS插值中使用未定義對象屬性的默認值?
- 13. 如何在Coredata中存儲帶結構的自定義對象
- 14. 如何在C++中存儲自定義對象的矩陣
- 15. Swift:如何在Core Data中存儲自定義對象數組?
- 16. 如何在自定義對象中存儲VBO
- 17. 如何在HTML DOM中存儲自定義javascript對象?
- 18. iOS:如何定義一些在任何地方使用的默認對象?
- 19. 在Django中自定義默認文件存儲
- 20. 如何在ios中爲方法定義默認參數值?
- 21. 默認值存儲
- 22. 自定義組件用戶對象值
- 23. 如何使用StackExchange.Redis存儲用戶定義的對象?
- 24. 存儲自定義對象的ArrayList
- 25. 存儲自定義對象的位置?
- 26. 如何在iOS中調用特定用戶的默認設置
- 27. 如何在android中爲自定義組件設置默認值?
- 28. 如何在SQL Server中設置自定義默認值?
- 29. 如何在svg對象內部存儲自定義數據?
- 30. 默認對象值
此鏈接將幫助你.. http://mobile.tutsplus.com/tutorials/iphone/nsuserdefaults_iphone-sdk/ – 2013-05-06 18:27:49