Questo errore compare quando interagiamo con un Array e cerchiamo di estrarre un dato da esso.

A me capita quando uso MagicalRecord, salvo il risultato di una ricerca in un array e poi lo uso ad esempio su un Label per impostare, nella maggior parte dei casi, il testo con il contenuto del campo “Titolo” del database.

NSString *titolo = [[arrayConDati valueForKey:@"Titolo"]];
label.text = titolo;

Ecco l’errore comparire! In realtà con il sistema del Breakpoint spiegato nell’articolo precedente, potrete capire esattamente la riga dell’errore.

La soluzione è più semplice di quello che pensiate:

NSString *titolo = [[arrayConDati valueForKey:@"Titolo"] objectAtIndex:0];

Aggiungendo “objectAtIndex:0” l’errore scomparirà in quanto direte su quale indice andare a prendere il valore con chiave “Titolo”, ovvero al primo: lo 0 (zero).

Se questo sistema non risolve il vostro caso allora scrivetemelo, così cerco la soluzione e la posto in questo articolo!