Pregunta

Estoy utilizando la clase MKPlacemark para poblar una etiqueta con detalles de ubicación. Cuando se llama a la propiedad AdministrativeArea, el nombre completo del estado de los EEUU se devuelve (por ejemplo, Virginia Occidental). ¿Hay una manera de devolver sólo las iniciales (por ejemplo, WV)?

¿Fue útil?

Solución

documentación de Apple para que la propiedad sugieren que no hay una definición real de lo que puede contener. Su mejor apuesta es, probablemente, para crear una función para asignar el nombre del estado de completo al código de 2 letras, y pasar el resultado de la propiedad a través de él antes de la visualización. Me defecto a la cadena original si no se obtiene una coincidencia.

-(NSString *)codeFromState:(NSString *)state {
  NSArray *map = [NSArray arrayWithObjects:@"Alabama",@"AL", @"Alaska",@"AK", ... @"Wyoming", @"WY", nil];
  for (int i = 0; i <[map count]; i+=2) {
    if ([state compare:[map objectAtIndex:i]] == NSOrderedSame) {
      return [map objectAtIndex:i+1];
    }
  }
  return state;
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top