我正在研究一個應用程序,用戶可以用手指在屏幕上繪圖。我爲此使用UIBezierPath。我需要堅持這個數據是一個包含多個BezierPath對象的NSArray。什麼是最好的方式去做這件事?存儲在coredata中,使用NSData存儲在一個文件中?多謝。帶核心數據的UIBezierPath持久性
8
A
回答
12
您是否期望必須存儲多個對象?你需要能夠基於一些過濾器或訂購來獲取它們嗎?我建議使用Core Data來保存自己在打包/解包數據方面的大量工作。沒有真正的理由將其存儲在文件中。
編輯:
由於對方回答說,你只需將其歸檔到NSData的。該UIBezierPath類堅持NSCoding協議,所以你可以做這樣的事情,以存檔:
NSData *bezierData = [NSKeyedArchiver archivedDataWithRootObject:bezierPath];
你可以堅持的是NSData對象中的核心數據。
爲了解碼存檔,假設我們有一個bezierData
NSData對象,你可以這樣做:
UIBezierPath *bezierPath = [NSKeyedUnarchiver unarchiveObjectWithData:bezierData];
1
存檔的UIBezierPath到NSData的,並將其存儲在CoreData的類型NSData的屬性。如果將其設置爲可變形屬性,則可以使用更簡單的API。
這很容易做,特別是對於已經支持歸檔的類。
請參閱此文檔以獲取更多信息。
相關問題
- 1. 核心數據獲取持久性
- 2. 核心數據中的持久書籤
- 3. iPhone核心數據:在撤消期間的財產持久性
- 4. 相關實體的iOS核心數據持久性
- 5. 具有多個持久性存儲的核心數據
- 6. 核心數據持久性,未解決的錯誤
- 7. Progamatically重置持久性存儲文件中的核心數據
- 8. 核心數據中計算的持久屬性
- 9. 持久性存儲是否需要iPhone上的核心數據?
- 10. 目標C核心數據 - 屬性不會被保存持久
- 11. 核心數據綁定不持久化一個實體屬性
- 12. 核心數據遷移不會持久存在新屬性
- 13. 核心數據和多個持久性商店
- 14. 密碼保護核心數據持久性存儲
- 15. 核心數據 - 更新持久性存儲不工作
- 16. 核心數據 - 移除持久性存儲時發生死鎖
- 17. 如何刪除核心數據持久性存儲
- 18. IPhone核心數據持久性和生命週期問題
- 19. 核心數據持久性商店協調員NSURL錯誤
- 20. iOS中的持久性:屬性列表序列化與NSUserDefaults與核心數據
- 21. 核心數據數據庫持久存儲位置已更改
- 22. 核心數據支持的非核心數據數據UITableView
- 23. 使用NSMigrationManager將數據追加到核心數據持久性存儲
- 24. 數據持久性
- 25. 持久性數據
- 26. 核心數據和半永久性數據
- 27. 持久存儲的核心數據錯誤
- 28. ASP.Net核心中的持久會話
- 29. 緩慢加載核心數據中的持久性存儲協調器
- 30. 核心數據崩潰 - 該NSPersistentStoreCoordinator沒有持久性存儲(損壞的文件)
你會如何堅持一個UIBesierPath in coredata? – 2012-07-12 17:53:27
更新我的答案。 – Dima 2012-07-12 18:33:19