Jump to content

Poner un array en la seccion de una tabla agrupada


Recommended Posts

Una nueva duda que tengo :

 

Tengo tres UiMutableArray en las cuales van nombres de personas, pero hay tres categorias de personas, Administrador, Placa y titulo.

Lo que hago es tres listas:

 

- (void)viewDidLoad

{

[super viewDidLoad];

 

ListaTitols = [[NSMutableArray alloc]init];

[ListaTitols addObject:@"MarcVallejo"];

 

LlistaAdmin = [[NSMutableArray alloc]init];

[LlistaAdmin addObject:@"MarcVallejo"];

[LlistaAdmin addObject:@"AlbaCardona"];

[LlistaAdmin addObject:@"AlbaCardona"];

 

LlistaPlaca = [[NSMutableArray alloc]init];

[LlistaPlaca addObject:@"MarcVallejo"];

[LlistaPlaca addObject:@"AlbaCardona"];

 

self.navigationItem.title =@"Titols de Patumaire";

 

Como podeis ver cada una tiene distintos numeros de nombres. Ok en el siguiente codigo pongo titulos en los grupos:

 

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {

 

sec = section;

 

if(section == 0){

return @"Administradors";

 

 

}

else if (section ==1){

return @"Titols";

 

}

else if (section == 2){

return @"Placas";

 

}

I aki se genera la duda, en este modulo tengo que escribir los nombres en cada grupo i no se como hacer-lo, si me lo podeis explicar gracias: el codigo que falta supongo que seria en el siguiente modulo.

 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

static NSString *CellIdentifier = @"Cell";

 

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (cell == nil) {

cell = [[[uITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];

}

 

// Configure the cell...

 

 

//Aqui tengo que llenar los grupos? como?

 

 

 

 

 

 

return cell;

}

donde retorno la lista:

 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

{

#warning Incomplete method implementation.

// Return the number of rows in the section.

return [ LlistaPlaca count]; // Aki solo puedo poner esta lista o puedo concatenar? como?

 

 

 

 

 

Link to post
Share on other sites

Si lo que quieres es mostrar esos tres arrays en una misma tabla agrupada con tres secciones, te propongo hacer lo siguiente.

 

1) Junta los tres arrays en uno solo

 

NSArray *array = [[NSArray alloc] initWithObjects:array1, array2, array3,nil];

 

2) Cuando te pidan el número de secciones responde esto

 

return [array count];

 

3) Cuando te pidan el número de elementos dentro de cada sección responde esto

 

return [[array objectAtIndex:section] count];

 

4) Cuando tengas que rellenar una celda hazlo de la siguiente manera

 

cell.text = [[array objectAtIndex:indexPath.section] objectAtIndex:indexPath.row];

 

5) Suerte!

Link to post
Share on other sites

Otra opción que te evitaría líos con los nombres es usar un Diccionario (Lo ideal seria en un .plist) para que estructures cómodamente todas las secciones y contenidos de las mismas.

 

En titleForHeaderInSection usar un loop que recorra y devuelva los valores.

 

Si el contenido del table view crece, lo agradecerás, ademas tienes la posibilidad de editarlo remotamente sin actualizar la app!

 

Saludos

Link to post
Share on other sites

Gracias... Ya havia visto el tema del .plist pero en xcode 4 abro el documento i no se como empezar a poner items i mas conceptos....

 

Otra cosa en un mapview abro una xinxeta pocicionando un lugar, el tema es que para que se vea el contenido he de clicar encima la xinxeta lo que queria era que me saliera el contenido de la xinxeta automaticamente, sabes como hacerlo? en este caso quiero que aparezca automatico Plaça Sant Pere i Primer sant de dimecres.

 

 

 

codigo :

 

CLLocationCoordinate2D loc = {latitude: 42.10437, longitude: 1.84615};

MKCoordinateRegion reg = MKCoordinateRegionMakeWithDistance(loc, 1000, 1000); self->mapa.region = reg;

MKPointAnnotation* ann = [[MKPointAnnotation alloc] init];

ann.coordinate = loc;

ann.title = @"Plaça Sant Pere";

ann.subtitle = @"Primer Salt dimecres";

 

[self->mapa addAnnotation:ann];

[ann release]; self->mapa.hidden = NO;

 

Link to post
Share on other sites

Supongo que el bloque del MKAnnotationView lo tienes en orden y esta el método [elpin setCanShowCallOut: YES] , por lo que en el código que muestras:

 

CLLocationCoordinate2D loc = {latitude: 42.10437, longitude: 1.84615};

MKCoordinateRegion reg = MKCoordinateRegionMakeWithDistance(loc, 1000, 1000); self->mapa.region = reg;

MKPointAnnotation* ann = [[MKPointAnnotation alloc] init];

ann.coordinate = loc;

ann.title = @"Plaça Sant Pere";

ann.subtitle = @"Primer Salt dimecres";

[self.mapa addAnnotation:ann];

[self.mapa selectAnnotation:self.ann animated:FALSE];

[ann release];

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.