首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试存档UIColor对象时UIColor崩溃

尝试存档UIColor对象时UIColor崩溃
EN

Stack Overflow用户
提问于 2011-09-19 19:11:27
回答 2查看 1.6K关注 0票数 0

当您尝试存档使用图案图像创建的UIColor对象时,该对象将可靠地崩溃。

代码语言:javascript
复制
UIColor *patternColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"test.png"]];
[NSKeyedArchiver archiveRootObject:patternColor toFile:[NSHomeDirectory() stringByAppendingFormat:@"/archive"]];
EN

回答 2

Stack Overflow用户

发布于 2011-09-23 12:05:31

转发我之前的评论作为回复,根据@deanWombourne的建议...

我也有同样的问题。在这里发布了一个更清晰的解释...

Saving UIColor colorWithPatternImage:image UIColor to Core Data using NSKeyedArchiver

票数 2
EN

Stack Overflow用户

发布于 2011-09-19 19:56:30

好的,第二次尝试-我已经删除了我的第一次。

@Audrey -你需要在你的问题中发布控制台异常跟踪-这真的非常有帮助,可以阻止评论中最后10分钟的讨论。

我已经用你的代码构建了一个测试应用程序(除了你坚持的与问题无关但不会向我们展示的方法),它确实崩溃了。

然而,它告诉了我确切的原因:

代码语言:javascript
复制
2011-09-19 12:51:10.346 test[50884:40b] *** Assertion failure in -[UICGColor encodeWithCoder:], /SourceCache/UIKit_Sim/UIKit-1448.89/UIColor.m:894
2011-09-19 12:51:10.447 test[50884:40b] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Only support RGBA or the White color space, this method is a hack.'

您只能序列化某些UIColor对象。

您需要存储用于创建模式的图像,而不是序列化UIColor。在您的encodeWithCoder:中执行此操作

然后,在您的initWithCoder:中,您应该解压图像并从中创建一个新的UIColor。

不过,为了清楚起见,我不能说这是不是你看到的同一个崩溃。没有任何类型的错误消息,这个答案只是一个猜测。请尽量提供帮助;人们要求提供更多信息,而您似乎不愿意提供。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7470018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档