Objective C在main方法中抛出异常

Mas*_*son 3 exception objective-c stack-trace ios

在我的应用程序继续崩溃之后,我设置了一个异常断点,然后才能执行我的任何代码.我不知道出了什么问题.我打印出堆栈跟踪,但堆栈跟踪中唯一可辨认的部分是问题在于: 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`
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏.谢谢!

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

bbu*_*bum 5

阅读回溯,具体来说:

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

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

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

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


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

听起来像是一个不正确的XIB.

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

  2. 你有任何IB网点的定制设置器吗?该回溯表示没有,只是检查.

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