我正在开发一个应用程序,用户可以用手指在屏幕上绘图.我正在使用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];