2012-06-27 14 views
7

He hecho un millón de UITables, con subtítulos, imágenes, fondos, colores, estilos de texto, lo que sea. De repente, estoy chocando en esta mesa, específicamente en la línea que pide la imagen de la celda. Aquí está el código:imagen UITableView causa bloqueo

// Configure the cell: 
cell.textLabel.font = [UIFont fontWithName:@"Franklin Gothic Book" size:18]; 
cell.textLabel.text = [leadershipMenu objectAtIndex:indexPath.row]; 
cell.detailTextLabel.text = [leadershipSubtitlesMenu objectAtIndex:indexPath.row]; 

// And here's the statement that causes the crash: 
cell.imageView.image = [leadershipPhotosMenu objectAtIndex:indexPath.row]; 

Ahora, el error que consigo es la siguiente:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', 
reason: '-[__NSCFConstantString _isResizable]: unrecognized selector sent to instance 0xcacbc' 

que sé con certeza que la declaración causando el accidente es la causa

cell.imageView.image = ... 

tan pronto como lo comento, todo funciona bien.

nunca he visto en mi vida un error

-[__NSCFConstantString _isResizable]: 

. Lo he buscado en Google, pero encontré muy poco.

Muy peculiar.

¿Alguien por ahí tiene alguna pista?

+0

¿Qué es leadershipPhotosMenu? ¿Es una matriz de imágenes? – Vaquita

+0

¿Cómo almacenaste las imágenes en la matriz "leadershipPhotosMenu"? ¿Puedo ver lo que es? –

+0

seguro, aquí está el código: 'leadershipPhotosMenu = [[NSMutableArray alloc] initWithObjects: @" JohnQ.jpg ", @" BillZ.png ", nil];' Y esas imágenes están en mi proyecto, lo que significa que están en Xcode, parte del paquete. – sirab333

Respuesta

12

como se menciona en su comentario. la forma en que guardas tu imagen es la causa del problema.

probar esto ..

leadershipPhotosMenu = [[NSMutableArray alloc] initWithObjects:[UIImage imageNamed:@"JohnQ.jpg"], [UIImage imageNamed:@"BillZ.png"], nil]; 

El código anterior almacenar las imágenes en su mutableArray, que funciona, pero no me sugieren para almacenar las imágenes en una matriz.

también se puede resolver su problema sin almacenar las imágenes en su conjunto como el código anterior haciendo:

mensaje
cell.imageView.image = [UIImage imageNamed:(NSString*)[leadershipPhotosMenu objectAtIndex:indexPath.row]]; 

este error significa que su objeto dentro de su leadershipPhotosMenu no es una imagen, pero la cadena

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', 
reason: '-[__NSCFConstantString _isResizable]: unrecognized selector sent to instance 0xcacbc' 
+0

jesus - total de cerebro-pedo. Obviamente, he estado mirando la pantalla durante demasiadas horas seguidas. Tengo como 40 tablas con imágenes en este mismo proyecto y no puedo ver este simple error mirándome a la cara. Obviamente es hora de golpear el saco :-) Gracias chicos! (y lo siento) – sirab333

+0

eres bienvenido :) – janusbalatbat

1

hacer esto:

cell.imageView.image = [UIImage imageNamed:[leadershipPhotosMenu objectAtIndex:indexPath.row]]; 
+0

Correcto, esta es otra alternativa que puede seguir. – Tarun

1

Está almacenando el nombre de las imágenes y no las imágenes. Sin embargo, imageView tiene UIImage como su propiedad y no el nombre de la imagen. Así que haz el cambio a continuación.

cell.imageView.image = [UIImage imageNamed:[leadershipPhotosMenu objectAtIndex:indexPath.row]]; 
Cuestiones relacionadas