ios – 具有核心数据的UIBezierPath持久性

前端之家收集整理的这篇文章主要介绍了ios – 具有核心数据的UIBezierPath持久性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发一个应用程序,用户可以用手指在屏幕上绘图.我正在使用UIBezierPath.我需要保留这个包含多个BezierPath对象的NSArray数据.最好的方法是什么?存储在coredata中,使用NSData存储在文件中?非常感谢.

解决方法

您是否希望存储多个对象?您是否需要能够根据某些过滤器或订购来获取它们?我建议使用Core Data为打包/解包数据节省大量工作.没有理由将其存储在文件中.

编辑:

正如另一个答案所说,您只需将其存档到NSData. UIBezierPath类遵循NSCoding协议,因此您可以执行以下操作来存档它:

NSData *bezierData = [NSKeyedArchiver archivedDataWithRootObject:bezierPath];

您可以在Core Data中保留该NSData对象.

要解码归档,假设我们有一个bezierData NSData对象,您可以执行以下操作:

UIBezierPath *bezierPath = [NSKeyedUnarchiver unarchiveObjectWithData:bezierData];

猜你在找的iOS相关文章