存档/取消存档在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]; 
+0

这适用于OS 3.0及以上,但不是OS 2.2.1 能否请您测试并确认这是否适用于OS 2.2.1 – random 2010-04-10 12:38:08

+0

@user:如何做你实现了'-encodeWithCoder:'?它也应该调用'[super encodeWithCoder:encoder]'。另外,来自3.0的文件不能在2.2.1上使用。 – kennytm 2010-04-10 12:40:09

+0

我现在得到这个错误 - [UIImage encodeWithCoder:]:无法识别的选择发送到实例0x44d6a0 任何线索? – random 2010-04-10 13:11:43