versiones plataforma objective framework español ejemplos objective-c cocoa

objective-c - plataforma - xcode



Cómo crear los "índices" requeridos para NSIndexPath: indexPathWithIndexes: length: (4)

En iOS, también puede usar este método desde NSIndexPath UIKit Additions (declarado en UITableView.h):

+ (NSIndexPath*) indexPathForRow:(NSUInteger)row inSection:(NSUInteger)section

El método de clase para crear una ruta de índice con uno o más nodos es:

+ (id)indexPathWithIndexes:(NSUInteger *)indexes length:(NSUInteger)length

¿Cómo creamos los "índices" requeridos en el primer parámetro?

La documentación lo listó como una matriz de índices para componer la ruta de índice, pero está esperando un (NSUinteger *).

Para crear una ruta de índice de 1.2.3.4, ¿es simplemente una matriz de [1,2,3,4]?


Estás en lo correcto. Puede usarlo así:

NSUInteger indexArr[] = {1,2,3,4}; NSIndexPath *indexPath = [NSIndexPath indexPathWithIndexes:indexArr length:4];


Hice esto en 2 líneas de código

NSMutableArray *indexPaths = [[NSMutableArray alloc] init]; for (int i = firstIndexYouWant; i < totalIndexPathsYouWant; i++) [indexPaths addObject:[NSIndexPath indexPathForRow:i inSection:0]];

Corto, limpio y legible. Código gratuito, no lo golpees.


Tu suposición es correcta. Es tan simple como una matriz C de NSUInteger. El parámetro de longitud es la cantidad de elementos en la matriz de índices.

Las matrices en C a menudo se identifican como un puntero (en este caso NSUInteger *) con un parámetro de longitud o un terminador conocido como / 0 para cadenas C (que es solo una matriz char).