我编写了一个小型 Objective-C 程序来归档对象。该对象是一个 NSDictionary。编译过程中没有出现问题。但是当它被调用时,它在终端中显示一条消息“段错误”,并且没有创建存档 XML 文件。这个问题是由 writeToFile 方法引起的,因为在我注释掉它之后就没有错误了(当然也没有存档)。这个错误信息是什么意思?又该如何解决呢?
我刚刚找到了问题的原因。我的程序基于书中的示例,并且存在打印错误,因此字典对象从未实际初始化。抱歉,我在提问之前没有彻底检查这个问题。
最佳答案
段错误是由于尝试取消引用坏指针而引起的。您传递给 writeToFile: 的文件实例可能为零。您需要检查返回码是否成功,并检查您的指针是否全部有效。
鉴于当您注释掉该行时它不会崩溃,您只需确保该调用的所有参数都有效,您就会发现错误。
更多阅读内容:
关于objective-c - Objective-C 中的段错误是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11612952/