Цель C Исключение, выброшенное в основном методе - PullRequest
2 голосов
/ 03 августа 2011

Я установил точку останова на исключение после того, как мое приложение продолжало падать, прежде чем оно выполнит любой мой код. Я не знаю что не так. Я распечатал трассировку стека, но единственная дешифруемая часть трассировки стека состоит в том, что проблема в строке: 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`

Любая помощь приветствуется. Спасибо!

EDIT: Хорошо, я сузил проблему. Это исключение выдается всякий раз, когда я устанавливаю TACGridViewController в качестве основного интерфейса в информации о развертывании iPad. Это помогает?

1 Ответ

5 голосов
/ 03 августа 2011

Считайте обратную трассировку, а именно:

#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 и вашим источником.

...