【发布时间】:2013-09-28 19:43:40
【问题描述】:
以下代码为例
- (id)init {
self = [super init];
if (self) {
// code
}
return self;
}
我不希望 nil 向上传播调用层次结构。我最初的想法是在 self 为 nil 的情况下抛出异常,创建一个还原点并中止执行。
更好的想法?
【问题讨论】:
-
有点小问题 - 但你说的创建还原点是什么意思?
-
@CarlVeazey 将所有未保存的数据保存到临时文件中
-
我会仔细考虑保存数据是否真的会帮助或伤害用户。如果您在这种情况下收到
nil,显然是因为您的应用程序已经出轨了。内存中的数据很可能已经损坏。除非您可以明确地验证数据或您的应用程序提供了某种版本加载方式,否则您可能会简单地销毁最后一次有效保存。 -
@bbum 好建议。
标签: objective-c