Pregunta

Antecedentes:

Estoy probando la asignación "HelloPoly" en el curso CS193P. He creado mi archivo .xib, y una clase de controlador personalizado.

No he concretarse cualquier método - Sólo he permitido IB para escribir los archivos de clase en Xcode

.

Problema:

Cada vez que el inicio Las aplicación, bombas fuera. Cuando corro GDB veo que es un error EXC_BAD_ACCESS. Esto significa que estoy acceder a algo inexistente en la derecha de la memoria? La cosa es que todo lo que tengo es los archivos predeterminados creados por IB y el principal. Nada más.

He comprobado publicado las soluciones de código para ver lo que es diferente y no estoy seguro de qué intentar después. ¿Qué es lo que ustedes suelen comprobar para cuando su aplicación se bloquea cada vez en el arranque?

El seguimiento de pila revela que está sucediendo en main.m al crear UIApplicationMain -. Lo que significa que nunca lo hago a mi delegado aplicación

Aquí está la traza:

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

No he visto este problema en particular en otros temas, pero por favor me pista en si yo los echaba de menos.

Las ideas?

Gracias.

¿Fue útil?

Solución

Se estrellarse en NibDecoder, es decir, cuando la carga de los archivos XIB. Es probable que tenga una referencia allí a un objeto o propiedad que no existe o no se ha inicializado.

Otros consejos

Compruebe el nombre del archivo .xib y el nombre del método initByNibName, si son lo mismo. Probablemente, estos dos nombres son diferentes.

Me acabo de resolver esto para una aplicación de manera similar básica iPhone en un mismo libro Enseña, y se dio cuenta de que había perdido simplemente un @ después de un "lugar de en frente - maullido es el que está en mal estado (abajo) y que era lo suficiente como para tirar el error:

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

Para depurar I utilizó el método súper básico de establecer puntos de interrupción y de salida NSLog, para poder averiguar cuál de las 4 variables que estaba usando se enrosca hacia arriba.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top