Вместо создания C-массива структур, оберните каждую структуру в объект и добавьте ее в NSMutableArray. Поэтому после создания координат просто:
[coordinatesArray addObject: [NSValue valueWithMKCoordinate:coordinate]];
И чтобы получить значение обратно:
CLLocationCoordinate2D coordinate;
[coordinatesArray[i] getValue:&coordinate];
Итак, если предположить, что self.latitude и self.longitude являются NSArrays of NSStrings:
//only property is now
@property (nonatomic, strong) NSArray * locations
-(void) loadCoordinatesFromParse {
NSDictionary * parseData;
//load parseData from Parse here
NSMutableArray * coordinates = [NSMutableArray array];
NSArray * latitudes = [parseData objectForKey:@"latitude"];
NSArray *longitudes = [parseData objectForKey:@"longitude"];
for (int i = 0; i < [latitudes count]; i++) {
double latitude = [latitudes[i] doubleValue];
double longitude = [longitudes[i] doubleValue];
CLLocationCoordinate2D coordinate = CLLocationCoordinate2DMake(latitude, longitude);
[coordinates addObject: [NSValue valueWithMKCoordinate:coordinate]];
}
NSLog(@"coordinates array = %@", coordinates);
self.locations = [NSArray arrayWithArray: coordinates];
}