MKPlacemark: regreso de los EE.UU. abreviatura del estado en AdministrativeArea
-
19-09-2019 - |
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)?
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