2012-06-27 11 views
7

Ho eseguito un milione di UITables con sottotitoli, immagini, sfondi, colori, stili di testo. Improvvisamente, sto andando in crash su questo tavolo, in particolare sulla linea che richiede l'immagine della cella. Ecco il codice:L'immagine UITableView causa l'arresto

// 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]; 

Ora, l'errore che ottengo è questo:

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

so per certo che l'istruzione che causa l'incidente è la causa

cell.imageView.image = ... 

più presto mentre commento tutto va bene.

non ho mai visto in vita mia un errore

-[__NSCFConstantString _isResizable]: 

. L'ho cercato su google ma ho trovato molto poco.

Molto particolare.

Qualcuno là fuori ha qualche indizio?

+0

Che cos'è la leadershipPhotosMenu? È una serie di immagini? – Vaquita

+0

Come hai memorizzato le immagini nella matrice "leadershipPhotosMenu"? Posso vedere di cosa si tratta? –

+0

sicuro, ecco il codice: 'leadershipPhotosMenu = [[NSMutableArray alloc] initWithObjects: @" JohnQ.jpg ", @" BillZ.png ", nil];' E quelle immagini sono nel mio progetto - nel senso che sono in Xcode, parte del pacchetto. – sirab333

risposta

12

come indicato nel tuo commento. il modo in cui si salva l'immagine è ciò che causa il problema.

provare questo ..

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

Il codice qui sopra memorizzare le immagini nel vostro mutableArray, Che funzionerà, ma suggerisco di non memorizzare le immagini in un array.

si può anche risolvere il problema senza memorizzare le immagini nella propria matrice come il codice di cui sopra facendo:

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

questo errore significa che il vostro oggetto all'interno del vostro leadershipPhotosMenu non è immagine, ma stringa

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

gesù - scoreggia cervello totale. Ovviamente è stato guardando lo schermo per troppe ore di fila. Mi piacciono 40 tabelle con immagini in questo stesso progetto e non riesco a vedere questo semplice errore che mi fissa in faccia. Ovviamente il tempo di colpire il sacco :-) Grazie ragazzi! (e scusa) – sirab333

+0

siete i benvenuti :) – janusbalatbat

1

fare questo:

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

Corretto, questa è un'altra alternativa che potresti seguire. – Tarun

1

Si sta memorizzando il nome dell'annuncio delle immagini e non le immagini. Comunque imageView ha UIImage come sua proprietà e non il nome dell'immagine. Quindi fai sotto cambiamento.

cell.imageView.image = [UIImage imageNamed:[leadershipPhotosMenu objectAtIndex:indexPath.row]]; 
Problemi correlati