Cuando uso un UICollectionView, estoy perplejo al obtener el valor indexPath
del método didSelectItemAtIndexPath
.indexPath Valor de UICollectionView
estoy usando la siguiente línea de código en el método 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);
El problema es que el indexPath siempre devuelve 0 (véase a continuación Código) y como resultado sólo el primer elemento el FileList NSArray siempre se selecciona.
He intentado diferentes parámetros tales como
indexPath.row
indexPath.item
- y simplemente
indexPath
TODAS estas devuelven un valor de 0 en la siguiente declaración NSLog:
NSLog(@"index path: %d", indexPath.item); //I also tried indexPath.row here
Tal vez estoy formateando el NSString incorrectamente, sin embargo, no creo que este sea el caso, ya que no hay advertencias y he intentado formatearlo de manera diferente en otros lugares.
¿Por qué el indexPath siempre devuelve 0?
¡Cualquier ayuda sería apreciada! ¡Gracias!
Por favor, muestre cómo formatea las cadenas para 'NSLog' – dasblinkenlight
' .item' es la propiedad apropiada aquí, pero funcionalmente esto no es diferente de '.row'. Necesita mostrar más, ¿cómo sabe que es cero? ¿Qué es FileList? – jrturton
He editado la pregunta e incluido cómo formateo la cadena para NSLog y he aclarado qué es FileList (lea el código comentado) –