1
次の方法を使用して、MeasurementSystemとの距離を調べています。いずれかが正しい方法を続行するかどうかを確認することができます。iPhoneのLocal MeasurementSystemを使用して距離を見つける
BOOL isMetric = [[[NSLocale currentLocale] objectForKey:NSLocaleUsesMetricSystem] boolValue];
しかし、どちらかの作品:
- (NSString *)textForDistance:(CLLocationDistance)meters {
NSString *measureSystem = [[NSLocale currentLocale] objectForKey:NSLocaleMeasurementSystem];
BOOL isMetric = ![measureSystem isEqualToString:@"U.S."];
NSString *distanceString;
if (!isMetric) {
CGFloat feet = meters/METERS_PER_FOOT;
if (feet * 2 > FEET_PER_MILE) {
distanceString = [NSString stringWithFormat:@"%.1f miles", (feet/FEET_PER_MILE)];
} else {
distanceString = [NSString stringWithFormat:@"%.0f feet",feet];
}
} else {
if (meters > 1000) {
distanceString = [NSString stringWithFormat:@"%.1f km", (meters/1000)];
} else {
distanceString = [NSString stringWithFormat:@"%.0f meters", meters];
}
}
return distanceString;
}
Rob最近、あなたの本を読んでいます。 (iOS 5のプログラミングは限界を押している)。 :-) – Lefteris