2012-07-12 109 views
8

我正在研究一個應用程序,用戶可以用手指在屏幕上繪圖。我爲此使用UIBezierPath。我需要堅持這個數據是一個包含多個BezierPath對象的NSArray。什麼是最好的方式去做這件事?存儲在coredata中,使用NSData存儲在一個文件中?多謝。帶核心數據的UIBezierPath持久性

回答

12

您是否期望必須存儲多個對象?你需要能夠基於一些過濾器或訂購來獲取它們嗎?我建議使用Core Data來保存自己在打包/解包數據方面的大量工作。沒有真正的理由將其存儲在文件中。

編輯:

由於對方回答說,你只需將其歸檔到NSData的。該UIBezierPath類堅持NSCoding協議,所以你可以做這樣的事情,以存檔:

NSData *bezierData = [NSKeyedArchiver archivedDataWithRootObject:bezierPath]; 

你可以堅持的是NSData對象中的核心數據。

爲了解碼存檔,假設我們有一個bezierData NSData對象,你可以這樣做:

UIBezierPath *bezierPath = [NSKeyedUnarchiver unarchiveObjectWithData:bezierData]; 
+0

你會如何堅持一個UIBesierPath in coredata? – 2012-07-12 17:53:27

+0

更新我的答案。 – Dima 2012-07-12 18:33:19

相關問題