尝试使用NSCoder在启动时崩溃应用程序
问题描述:
我有一些细节存储在NSDictionary中。我在iPad上使用Master-Detail视图,添加了initWithCoder方法后,我的应用在启动时崩溃,我不知道如何使其工作。尝试使用NSCoder在启动时崩溃应用程序
我想使用NSCoder的原因是存储我的用户数据,并能够显示一次他再次启动应用程序。 NSUserDefaults不可行,因为我在字典中存储了UITextFields和UISegmentedControls,以便于处理数据。
- (id)initWithCoder:(NSCoder *)aDecoder {
if (self = [super init]) {
personInfo = [aDecoder decodeObjectForKey:myString];
}
return self;
}
- (void)encodeWithCoder:(NSCoder *)aCoder {
[aCoder encodeObject:personInfo forKey:myString];
}
任何人都可以请告诉我如何正确使用它?
答
我简单地说
self = [super initWithCoder:aDecoder]
,而不是仅仅
self = [super init]
这是其他问题的任何使用固定的呢? http://stackoverflow.com/questions/3943801/objective-c-how-do-i-use-initwithcoder-method –
它有点帮助 - 它不再崩溃。你能告诉我如何在编码后保存这些数据吗? –
可能不是;我不知道有关可可的事情:-)。但是如果你的代码不再崩溃,但你仍然不满意它正在做什么,那么你应该修改这个问题来反映新的状态或者发布一个新的状态。 (如果最初的错误现在已经修复,你可以发布一个答案来解释问题是什么以及如何解决问题,并接受你自己的答案。这对未来的读者可能会有所帮助。) –