Как загрузить динамические данные о местоположении в словарь объект / массив? - PullRequest
0 голосов
/ 23 марта 2012

Я создал очень простой словарь, в котором просто хранится имя пользователя, и я также хочу хранить динамически сгенерированные значения в нем. Я уже могу получить текущее значение, и я работаю над тем, как отследить местоположение и сохранить новые значения, которые обновляются в зависимости от расстояния или времени.

Как бы я мог хранить несколько широт под ключом «широта» и то же самое для долготы?

Мой словарь с именем пользователя находится здесь:

username = Textbox.text;

    NSMutableDictionary *mydata = [[NSMutableDictionary alloc] init ];

    [mydata setObject:username forKey:@"username"];
    NSLog(@"%@", [mydata objectForKey:@"username"]);

Код моего текущего местоположения здесь:

locationManager =[[CLLocationManager alloc] init];

locationManager.delegate = self; 
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
locationManager.distanceFilter = 100.0f;
[locationManager startUpdatingLocation];

CLLocation *location = [locationManager location];
CLLocationCoordinate2D coordinate = [location coordinate];
NSString *latitude = [NSString stringWithFormat:@"%f", coordinate.latitude];
NSString *longitude = [NSString stringWithFormat:@"%f", coordinate.longitude];

Любая помощь будет принята с благодарностью.

1 Ответ

3 голосов
/ 23 марта 2012

Если у вас есть две широты ...

float latitudeA;
float latitudeB;

, которые вы хотите поместить в массив, сначала "оберните" их как NSNumbers ...

NSNumber *numLatitudeA = [NSNumber numberWithFloat:latitudeA];
NSNumber *numLatitudeB = [NSNumber numberWithFloat:latitudeB];

который позволит вам поместить их в массив ...

NSArray *myLatitudes = [NSArray arrayWithObjects:numLatitudeA, numLatitudeB, nil];

, который можно поместить в ваш словарь (под ключом @ "latitude", если хотите) ...

[myData setValue:myLatitudes forKey:@"latitude"];

Хотя, возможно, вы захотите связать несколько массивов широт с разными уникальными долготами.Если это так, вместо использования строки @ "latitude" в качестве ключа сама долгота (если это NSNumber) может быть очень хорошим ключом.

NSNumber *numLongitude = [NSNumber numberWithFloat:longitude];
[myData setObject:myLatitudes forKey:numLongitude];
...