objective-c - 在哪里寻找错误。文档、应用程序委托(delegate)或两者兼而有之?

标签 objective-c xcode macos crash

以下情况:我有一个基于文档的应用程序。默认情况下,当我打开应用程序时,它只在屏幕顶部显示菜单。然后我点击file->new,它打开了一个全新的document.xib界面。在我的主电脑上工作正常。但是在我运行 10.6.8 的第二台电脑上,应用程序一运行就崩溃了。 (代码是用正确的目标编译的......)

这个应用程序在我什至在顶部看到主菜单之前就崩溃了。崩溃的原因是否仍然在文档的 xib 文件中?还是很可能在文档部分之外的代码中?我的意思是:代码是在应用程序启动时完全检查的,还是当它到达导致它的代码时它是否会导致崩溃?

谢谢

编辑

Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000
Crashed Thread: 0 Dispatch queue: com.apple.main-thread

Thread 0 Crashed: Dispatch queue: com.apple.main-thread
0 ??? 000000000000000000 0 + 0
1 com.apple.AppKit 0x0000000100def22e -[NSCustomObject nibInstantiate] + 416
2 com.apple.AppKit 0x0000000100def01b -[NSIBObjectData instantiateObject:] + 259
3 com.apple.AppKit 0x0000000100dee406 -[NSIBObjectData nibInstantiateWithOwner:topLevelObjects:] + 336
4 com.apple.AppKit 0x0000000100deca91 loadNib + 226
5 com.apple.AppKit 0x0000000100debfa1 +[NSBundle(NSNibLoading)_loadNibFile:nameTable:withZone:ownerBundle:] + 248
6 com.apple.AppKit 0x0000000100debdd9 +[NSBundle(NSNibLoading) loadNibNamed:owner:] + 326
7 com.apple.AppKit 0x0000000100de935b NSApplicationMain + 279
8 mad-sharky.com.Stockuploader 0x0000000100001194 0x100000000 + 4500

最佳答案

问题不在于 XIB 文件,而在于所述文件中被错误实例化的对象之一。对象的某些原因导致它是 -initWithCoder:方法失败。看来您可能没有在所述方法中调用 super,而只是返回 self,这是不允许的。

另一种可能性是你有一个“幽灵导出”。有时,当一个 IBOutlet 被创建和链接时,声明它的那段代码被删除,IB 不会取消链接导出,并且 NSCoder 试图解除一个 nil 导出。

关于objective-c - 在哪里寻找错误。文档、应用程序委托(delegate)或两者兼而有之?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15462107/

相关文章:

ios - UIImage 在旋转时向右移动 - 中心点错误?

objective-c - Apple Mach-O 框架错误

Java - 如何连接到 Mac OS 上的复制和粘贴菜单

python - 无法在 Mac OS X 10.9.5 上安装 uWSGI

macos - 确定 macOS Catalina、Big Sur 及更高版本中的卷组

ios - 限制 UICollectionView 内 UIAttachmentBehavior 的垂直移动

objective-c - UISplitViewController:删除分隔线

xcode - Twilio iOS 无法识别的选择器发送到类

xcode - 我如何通过 xcode "make install"?

iphone - AvAudioRecorder 设置配置帮助