objective-c xcode ios4 nsdictionary exc-bad-access

objective c - EXC_BAD_ACCESS con NSDictionary



objective-c xcode (2)

Estoy tratando de agregar objetos que están en una matriz a un NSDictionary función de su posición dentro de NSArray , pero la aplicación falla tan pronto como se asigna el NSDictionary . ¿Alguna idea de por qué?

NSString *venue_title = [venues objectAtIndex:[actionSheet tag]]; NSString *venue_address = [venues_full_address objectAtIndex:[actionSheet tag]]; NSString *venue_lat = [venues_lat objectAtIndex:[actionSheet tag]]; NSString *venue_lng = [venues_lng objectAtIndex:[actionSheet tag]]; NSLog(@"%@, %@, %@, %@", venue_title, venue_address, venue_lat, venue_lng); NSDictionary *venue_details_dict = [[NSDictionary alloc] initWithObjects:[NSArray arrayWithObjects:venue_title, venue_address, venue_lat, venue_lng, nil] forKeys:[NSArray arrayWithObjects:@"name", @"address", @"lat", "lng", nil]];

Veo todos los valores correctos cuando NSLogge los objetos, pero NSDictionary hace que la aplicación se cuelgue con un error EXC_BAD_ACCESS . Tengo NSZombies habilitado, pero no se muestra nada cuando se bloquea como se mostraría regularmente. ¿Alguna idea sobre lo que está pasando aquí? ¡Gracias por adelantado!


NSDictionary *venue_details_dict = [[NSDictionary alloc] initWithObjects: [NSArray arrayWithObjects:venue_title, venue_address, venue_lat, venue_lng, nil] forKeys: [NSArray arrayWithObjects:@"name", @"address", @"lat", "lng", nil]];

Olvidó el @ en "lng" . Auge.


Para una mayor claridad que hace que los errores como este sean más fáciles de ver, intente:

NSDictionary *venue_details_dict = [NSDictionary dictionaryWithObjectsAndKeys: venue_title, @"name", venue_address, @"address", venue_lat, @"lat", venue_lng, @"lng", nil];