需要保存 NSmutableArray 的 PathDrawingInfo 对象,以便在重新加载应用程序时使用
Posted
技术标签:
【中文标题】需要保存 NSmutableArray 的 PathDrawingInfo 对象,以便在重新加载应用程序时使用【英文标题】:Need to save NSmutableArray of PathDrawingInfo objects to be used when app is reloaded 【发布时间】:2012-10-01 15:28:36 【问题描述】:在我的应用程序中,我有一个包含 PathDrawingInfo 项的 NSmutableArray。我正在寻找一种方法来保存这个数组以供以后使用。当任何事件发生时,应用程序都会绘制 PathDrawingInfo 项,因此会不断地重新绘制路径。我需要保存这个路径数组,以便以后可以与应用程序一起使用。该数组还需要与标题一起保存,以便用户可以选择以前的图形来加载、修改和重新保存。
我一直在寻找方法来做到这一点,发现很多人保存他们的数组以供其他时间在应用程序中使用——他们通常将数组转换为属性列表。我还注意到这似乎只适用于 NSArray、NSDictionary、NSString、NSData、NSNumber 和 NSDate 类型。由于我的项目是 PathDrawingInfo 类型,我不确定另一种方法可以做到这一点。感谢您的帮助,因为我是 Objective c 的新手。
【问题讨论】:
您可能需要调查 NSValue。这允许包装标量和结构类型。 【参考方案1】:您需要使用存档器来保存数组:
[NSKeyedArchiver archiveRootObject:self.myMutableArray toFile:savePath];
当你想取回它时:
self.myMutableArray = [NSKeyedUnarchiver unarchiveObjectWithFile:savePath];
【讨论】:
PathDrawingInfo 包含三个项目,路径、strokeColor 和 fillColor。我需要单独为每一个做任何事情吗?还是只在其中包含对象的可变数组上执行此操作?以上是关于需要保存 NSmutableArray 的 PathDrawingInfo 对象,以便在重新加载应用程序时使用的主要内容,如果未能解决你的问题,请参考以下文章
如何将 NSMutableArray(包含其他数组)保存到文件
将 UITableViewCell 内的 UITextField 保存到 NSMutableArray