0

以下情况:我有一个基于文档的应用程序。默认情况下,当我打开应用程序时,它只在屏幕顶部显示菜单。然后我点击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
4

2 回答 2

1

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

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

于 2013-03-17T15:03:23.463 回答
0

发现了问题。这里是:

在此处输入图像描述

现在它可以正常工作了!

于 2013-03-24T17:14:12.727 回答