在NSUserDefaults中保存自定义Coreplot Graph

时间:2014-09-09 20:01:42

标签: ios objective-c ipad nsuserdefaults core-plot

我试图在NSMutableArray中保存CoreplotNSUserDefault图表。这是我的代码

保存图表:

NSData *encodedGraphs = [NSKeyedArchiver archivedDataWithRootObject:graphArray];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:encodedGraphs forKey:@"graphs"];
[defaults synchronize];

加载已保存的图表:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSData *encodedObject = [defaults objectForKey:@"graphs"];
NSMutableArray *savedGraphs = [NSKeyedUnarchiver unarchiveObjectWithData:encodedObject];
if (savedGraphs != nil) {
    graphArray = savedGraphs;
    [_tableView reloadData];
}

尝试加载保存的图表时,我遇到了这个错误:

Assertion failure in -[UICGColor encodeWithCoder:], /SourceCache/UIKit_Sim/UIKit-2935.137/UIColor.m:1439

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Only RGBA or White color spaces are supported in this situation.'

有没有人知道这里出了什么问题?感谢

1 个答案:

答案 0 :(得分:0)

事实证明,有一个视图的背景图像由UIColor colorWithPatternImage设置,打破了编码。我将背景图像更改为UIImage,现在可以正常工作。