存档/取消存档在iPhone OS 3.0和2.2.1对象
问题描述:
我想存档,使用NSKeyedArchiver,NSKeyedUnarchiver,NSCoding(initWithCoder,encodeWithCoder方法)unarchive对象,以便在应用程序终止之前访问最后一个视图。存档/取消存档在iPhone OS 3.0和2.2.1对象
这适用于OS 3.0及更高版本,但对于OS 2.2.1,对象未被存档,但应用程序重新启动时显示空白屏幕。
这是我怎么一直试图初始化我的看法:
- (id)initWithCoder:(NSCoder *)decoder{
self = [super init];
if (self != nil)
{
//my code
}
return self;
}
我也使用initWithNibName方法如下
- (id)initWithCoder:(NSCoder *)decoder{
self = [super initWithNibName:@"myView" bundle:nil];
if (self != nil)
{
//my code
}
return self;
}
但显示黑屏尝试。
任何人都可以请帮忙吗?
答
其实,你应该叫
self = [super initWithCoder:decoder];
这适用于OS 3.0及以上,但不是OS 2.2.1 能否请您测试并确认这是否适用于OS 2.2.1 – random 2010-04-10 12:38:08
@user:如何做你实现了'-encodeWithCoder:'?它也应该调用'[super encodeWithCoder:encoder]'。另外,来自3.0的文件不能在2.2.1上使用。 – kennytm 2010-04-10 12:40:09
我现在得到这个错误 - [UIImage encodeWithCoder:]:无法识别的选择发送到实例0x44d6a0 任何线索? – random 2010-04-10 13:11:43