【发布时间】:2012-05-13 21:46:40
【问题描述】:
我在 NSDictionary 中存储了一些详细信息。我在 iPad 上使用 Master-Detail 视图,添加 initWithCoder 方法后,我的应用程序在启动时崩溃,我不知道如何让它工作。
我想使用 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];
}
谁能告诉我如何正确使用它?
【问题讨论】:
-
这个问题还有用吗? stackoverflow.com/questions/3943801/…
-
它有点帮助 - 它不再崩溃了。你能告诉我编码后如何保存这些数据吗?
-
可能不会;我对可可一无所知:-)。但是,如果您的代码不再崩溃,但您仍然对其所做的事情不满意,您可能应该修改问题以反映世界的新状态或发布新问题。 (如果最初的错误现在已修复,您可以发布一个答案,解释问题是什么以及如何修复它,并接受您自己的答案。这可能对未来的读者有所帮助。)
标签: objective-c ipad ios5 nscoding nscoder