Objective C在main方法中抛出异常

时间:2011-08-03 14:06:58

标签: objective-c ios exception stack-trace

我的应用程序在执行任何代码之前继续崩溃后设置了一个异常断点。我不知道出了什么问题。我打印出堆栈跟踪,但堆栈跟踪中唯一可辨认的部分是问题在于:     return UIApplicationMain(argc, argv, nil, NSStringFromClass([TACGridAppDelegate class]));

Here is the stack trace:


`#0  0x014b7cb4 in objc_exception_throw ()`
`#1  0x013209c1 in -[NSException raise] ()`
`#2  0x00a99143 in -[NSObject(NSKeyValueCoding) setValue:forUndefinedKey:] ()`
`#3  0x00a0ad5f in _NSSetUsingKeyValueSetter ()`
`#4  0x00a0accf in -[NSObject(NSKeyValueCoding) setValue:forKey:] ()`
`#5  0x00a25d78 in -[NSObject(NSKeyValueCoding) setValue:forKeyPath:] ()`
`#6  0x0035e7af in -[UIRuntimeOutletConnection connect] ()`
`#7  0x013228ba in -[NSObject performSelector:] ()`
`#8  0x0128b251 in -[NSArray makeObjectsPerformSelector:] ()`
`#9  0x0035d303 in -[UINib instantiateWithOwner:options:] ()`
`#10 0x0035eeab in -[NSBundle(UINSBundleAdditions) loadNibNamed:owner:options:] ()`
`#11 0x00142f2f in -[UIApplication _loadMainNibFileNamed:bundle:] ()`
`#12 0x0014322c in -[UIApplication _loadMainInterfaceFile] ()`
`#13 0x0014281a in -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] ()`
`#14 0x001514c6 in -[UIApplication handleEvent:withNewEvent:] ()`
`#15 0x00151f34 in -[UIApplication sendEvent:] ()`
`#16 0x0014590c in _UIApplicationHandleEvent ()`
`#17 0x01b4a876 in PurpleEventCallback ()`
`#18 0x012f3ff5 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ ()`
`#19 0x01258902 in __CFRunLoopDoSource1 ()`
`#20 0x012571ea in __CFRunLoopRun ()`
`#21 0x01256694 in CFRunLoopRunSpecific ()`
`#22 0x012565ab in CFRunLoopRunInMode ()`
`#23 0x00142326 in -[UIApplication _run] ()`
`#24 0x00143851 in UIApplicationMain ()`
`#25 0x0000215a in main (argc=1, argv=0xbffff610) at /Users/MasonSilber/Desktop/Programming Stuff/iOS Programming/XCode 4/TACGrid/TACGrid/main.m:16`

感谢任何帮助。谢谢!

修改 好的,我已经缩小了问题范围。每当我将TACGridViewController设置为iPad部署信息中的主界面时,它都会抛出此异常。这有帮助吗?

1 个答案:

答案 0 :(得分:5)

阅读回溯,特别是:

#8  0x0128b251 in -[NSArray makeObjectsPerformSelector:] ()
#9  0x0035d303 in -[UINib instantiateWithOwner:options:] ()
#10 0x0035eeab in -[NSBundle(UINSBundleAdditions) loadNibNamed:owner:options:] ()

在加载XIB文件时发生异常,可能是在启动应用程序时加载的主要XIB文件。

即。你的xib文件有误。由于抛出异常,应该有一条日志消息,其中包含有关异常的详细信息(如果您在调试器中“继续”,它可能会发出异常)。

最有可能的是,您更改了源代码中插座的名称,但未更新XIB文件。可能是其他东西,但没有例外细节,就不可能多说。


  编辑:好的,我已经缩小了问题范围。它抛出了这个异常   每当我将TACGridViewController设置为iPad中的主界面时   部署信息。这有帮助吗?

听起来像是不正确的XIB。

  1. 检查您是否在源文件和xib文件中正确拼写了类名。

  2. 您是否有任何IB网点的自定义设置器?该回溯表示没有,只是检查。

  3. 确保所有插座在xib文件和来源之间拼写正确且相同。