2012-05-17 82 views
0

還有什麼比NSUserDefaults其他方式在那裏保存和找回自定義對象?對我來說,NSUserDefaults已經變得太麻煩了(它不能正確保存),所以我正在尋找另一種保存數據的方法。 (我已經張貼了我的問題,我真的只是想尋找其他的方式來保存數據)方式保存數據NSUserDefaults的不

編輯:我也需要能夠保存的東西像UIIMages和UIButtons。

回答

1
  1. 您可以將數據保存爲正常的text文件或plist文件。
  2. 您可以使用SQLLite來保存數據。

除此之外,如果您使用的是服務器驅動的應用程序,那麼您可以將數據保存在服務器上,並在需要時返回。

+0

你何以/製作用(例如)UIImages工作? – ManOx

+0

@ManOx - 您可以存儲在應用程序包中的圖像。 – rishi

+0

謝謝! Jeffery Thomas的回答也很好。 – ManOx

0

你可以使用plist或coreData.As你使用NSUserDefaults,這意味着數據是非常小的,所以plist將是一個好主意。蘋果非常高效。如果數據變得非常大,你可以使用sqlite。

1

UIImages應該通過創建一個PNG或JPEG表示,然後寫一個NSData的阻擋,你認爲合適得救。見UIImagePNGRepresentation

UIButtons應序列/使用​​協議反序列化。檔案可以爲你照顧這個。

的NSData和UIButtons都支持NSCoding,所以我會建議歸檔的NSUserDefaults的代替。請參閱NSCoding瞭解該兔子洞的開始。

0

存儲自定義對象,您需要確保您的自定義對象實現NSCoding協議。這是NSCoding.上的Apple文檔。如果您需要關於如何實現NSCoding協議的教程,請查看this site.要將UIImage保存到文件,您可以將圖像轉換爲 NSData,然後使用NSData的writeToFile方法寫入文件。有關如何完成SO的最後部分的例子很多。這裏是one.