2012-07-12 91 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

相关问题