2011-02-18 9 views
15

Recibo el siguiente error al ejecutar mi aplicación.Error: "- [NSCFString sizeWithTextStyle:]: selector no reconocido" en el SDK de iPhone

'- [NSCFString sizeWithTextStyle:]: Selector no reconocido

No he utilizado sizeWithTextStyle en toda mi proyecto.

Entonces, ¿qué podría estar mal?

me sale error en return pos; siguiente declaración

Código:

(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 
{ 
    UIView *pos = [[UIView alloc] initWithFrame:CGRectMake(0.0,0.0,320.0,35.0)]; 
    return pos; 
} 

error en la consola:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSCFString sizeWithTextStyle:]: unrecognized selector sent to instance 0x7044b50'

Debido a un problema muesca mientras que pone registro de bloqueo entera aquí, yo soy p utting la pantalla del accidente ingrese

enter image description here

+0

difícil de decir sin algo más de código. ¿Podría proporcionar las líneas de código donde su aplicación falla? –

+0

@Philipp Jaquet: He editado mi pregunta y agregado mi código. He intentado depurar el código y encontré que la aplicación se bloquea con una declaración ** SIGNAL ABORT ** –

Respuesta

28

Creo que el problema está en otra parte, no en esta línea de código. El objeto no puede retenerse. Publique el código, donde está utilizando el método sizeWithTextStyle

¿Tiene el indicador "todos_carga" en la configuración de su enlace?

Este problema surge mucho. Debe agregar -all_load y -ObjC a los indicadores de enlace de sus aplicaciones.

* EDIT: *

Crash parece ocurrir en la línea:

CGSize textSize = [self.text sizeWithTextStyle:textStyle]; 
in class: CPTextLayer method: sizeToFit 

which is called from within class CPTextLayer method initWithText: 
-(id)initWithText:(NSString *)newText style:(CPTextStyle *)newStyle 
.... 
[self sizeToFit]; 


**try to set with iOS 4 and not with 3.1.3 ** 
+0

Ya había usado -ObjC y también intenté poner ** - all_load ** flag y luego Clean All & Build and Run pero aún se cuelga en el mismo lugar. ¿Qué se puede hacer? –

+0

No estoy usando este método 'sizeWithTextStyle' en ninguna parte de mi código. ¿Puede sugerir por favor dónde podría estar haciendo referencia? –

+0

-sizeWithTextStyle: es un método de categoría NSString agregado por Core Plot. Estoy de acuerdo en que probablemente tengas un error de enlazador. –

0

Debe cambiar su código para utilizar punteros de esta manera: la atención

UIView *pos = [[UIView alloc] initWithFrame:CGRectMake(0.0,0.0,320.0,35.0)]; 
    return pos; 

atención a asterisco!

Y, por supuesto, el ; al final de la declaración de asignación!

+0

Lo intenté pero sigue bloqueándose con el mismo error. ¿Qué se puede hacer? –

+0

¿trataste de limpiar tu proyecto y construir de nuevo? ¿También puedes poner el registro de bloqueo? Creo que no se cuelga en esta línea específica ... –

+0

Sí, Nava Carmon. Fue solo que perdí el punto y coma mientras copiaba el código. También probé a limpiar, pero todavía no funciona. –

3

Cuando tiene problemas de gestión de memoria (selectores que son enviados a los casos equivocadas es un síntoma de problemas de gestión de memoria), hay una serie de cosas que puede hacer:

  1. Vuelva a leer el cacao memory management rules y haga sur e que los estás siguiendo.
  2. Ejecute static analyser. Esto a menudo retoma los lugares en los que ha descuidado las reglas de administración de memoria.
  3. Intente utilizar NSZombieEnabled para averiguar si [y cuándo] está enviando mensajes a instancias no asignadas.
2

También estoy recibiendo el mismo error pero ahora está resuelto.

Es necesario hacer algo simple, establecer el valor de la bandera del otro enlazador.

a continuación He mencionado los pasos.

Nombre del proyecto - la estructura Ajuste - Otro indicador enlazador (barra de búsqueda para buscar su uso) - "-ObjC"

+0

Puedes pegar la foto de esto Porque he descubierto solo depuración y liberación y nada más en la Bandera de Otro Enlazador –

+0

Gracias amigo ... eso funcionó para mí .. –

Cuestiones relacionadas