Question

Contexte:

Je suis en train de la mission « HelloPoly » au cours CS193P. J'ai créé mon fichier .xib, et une classe de contrôleur personnalisé.

Je n'ai pas étoffée des méthodes - je n'ai permis d'écrire IB les fichiers de classe dans Xcode

.

Problème:

Chaque fois que je démarre l'application, il bombes sur. Quand je lance gdb je vois qu'il est une erreur EXC_BAD_ACCESS. Cela signifie que je suis accès à quelque chose inexistante dans le droit de la mémoire? La chose est, tout ce que j'ai est les fichiers par défaut créés par IB et le principal. Rien de plus.

J'ai vérifié affiché des solutions de code pour voir ce qui est différent et je ne suis pas sûr de ce que pour essayer prochain. Qu'est-ce que vous les gars vérifient habituellement quand votre application se bloque chaque fois au démarrage?

La trace de la pile révèle qu'il se passe dans main.m lors de la création UIApplicationMain -. Ce qui signifie que je ne le faire à mon délégué de l'application

Voici la trace:

Program received signal:  “EXC_BAD_ACCESS”.
(gdb) where
#0  0x01b70d45 in CFHash ()
#1  0x01b741cf in __CFDictionaryFindBuckets1b ()
#2  0x01b72b0a in CFDictionaryGetValue ()
#3  0x00450535 in -[UIProxyObject initWithCoder:] ()
#4  0x0133886e in UINibDecoderDecodeObjectForValue ()
#5  0x013398c2 in -[UINibDecoder decodeObjectForKey:] ()
#6  0x00450b35 in -[UIRuntimeConnection initWithCoder:] ()
#7  0x0045101c in -[UIRuntimeEventConnection initWithCoder:] ()
#8  0x0133886e in UINibDecoderDecodeObjectForValue ()
#9  0x0133820a in UINibDecoderDecodeObjectForValue ()
#10 0x013398c2 in -[UINibDecoder decodeObjectForKey:] ()
#11 0x0044feab in -[UINib instantiateWithOptions:owner:loadingResourcesFromBundle:] ()
#12 0x00451fcb in -[NSBundle(NSBundleAdditions) loadNibNamed:owner:options:] ()
#13 0x002910a6 in -[UIApplication _loadMainNibFile] ()
#14 0x0029a82a in -[UIApplication _runWithURL:sourceBundleID:] ()
#15 0x00297b88 in -[UIApplication handleEvent:withNewEvent:] ()
#16 0x002936d3 in -[UIApplication sendEvent:] ()
#17 0x0029a0b5 in _UIApplicationHandleEvent ()
#18 0x0239eef1 in PurpleEventCallback ()
#19 0x01bb2b80 in CFRunLoopRunSpecific ()
#20 0x01bb1c48 in CFRunLoopRunInMode ()
#21 0x00291e69 in -[UIApplication _run] ()
#22 0x0029b003 in UIApplicationMain ()
#23 0x000026a8 in main (argc=1, argv=0xbffff000) at main.m:14

Je ne vois pas ce problème dans d'autres sujets, mais s'il vous plaît me la moindre idée si je les ai manqués.

Idées?

Merci.

Était-ce utile?

La solution

Il est écraser dans NibDecoder, à savoir lors du chargement de vos fichiers XIB. Vous avez probablement une référence là-bas pour un objet ou d'un bien qui n'existe pas ou est pas initialisé.

Autres conseils

Vérifiez le nom du fichier .xib et le nom de la méthode initByNibName, si elles sont les mêmes. Probablement, ces deux noms sont différents.

Je viens de résoudre ce pour une application iPhone de la même base dans un soi-même enseigner livre, et réalisé que je l'avais tout simplement égaré un @ après un "au lieu de devant - Meow est celui qui est foiré (ci-dessous) et qui était suffit de jeter l'erreur:

animalSounds=[[NSArray alloc]initWithObjects: @"Oink","@Rawr",@"Ssss",@"Roof","@Meow",@"Honk",@"Squeak",nil];

Pour le débogage j'ai utilisé la méthode super-base de la mise en points d'arrêt et la sortie NSLog, donc je pourrais comprendre que des 4 variables que j'utilisais a foiré.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top