Quando si utilizza UICollectionView, sono perplesso di ottenere il valore indexPath
del metodo didSelectItemAtIndexPath
.indexPath Valore di UICollectionView
Sto utilizzando la seguente riga di codice nel metodo didSelectItemAtIndexPath
:
//FileList is an NSArray of files from the Documents Folder within my app.
//This line gets the indexPath of the selected item and finds the same index in the Array
NSString *selectedItem = [NSString stringWithFormat:@"%@",[FileList objectAtIndex:indexPath.item]];
//Now the selected file name is displayed using NSLog
NSLog(@"Selected File: %@", selectedItem);
Il problema è che l'indexPath restituisce sempre 0 (vedi sotto codice) e di conseguenza solo il primo elemento in FileList NSArray è sempre selezionato.
Ho provato diversi parametri come ad esempio
indexPath.row
indexPath.item
- e semplicemente
indexPath
TUTTE queste restituiscono un valore pari a 0 nella seguente dichiarazione NSLog:
NSLog(@"index path: %d", indexPath.item); //I also tried indexPath.row here
Forse sto solo formattando l'NSString in modo errato, tuttavia non penso che questo sia il caso in quanto non ci sono avvisi e ho provato a formattarlo diversamente in altri posti.
Perché indexPath restituisce sempre 0?
Qualsiasi aiuto sarebbe apprezzato! Grazie!
Mostrare come si formattano le stringhe per 'NSLog' – dasblinkenlight
' .item' è la proprietà appropriata qui, ma funzionalmente non è diverso da '.row'. Devi mostrare di più - come sai che è zero? Cos'è FileList? – jrturton
Ho modificato la domanda e incluso come formatto la stringa per NSLog e ho chiarito che cos'è FileList (leggere il codice commentato) –