我正在研究一个应用程序,用户可以用手指在屏幕上绘图。我为此使用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