Po pewnym przeszukaniu otrzymałem następujące rozwiązanie: reference.Przechowywanie CLLocationCoordinates2D w NSMutableArray
CLLocationCoordinate2D* new_coordinate = malloc(sizeof(CLLocationCoordinate2D));
new_coordinate->latitude = latitude;
new_coordinate->longitude = longitude;
[points addObject:[NSData dataWithBytes:(void *)new_coordinate
length:sizeof(CLLocationCoordinate2D)]];
free(new_coordinate);
i dostęp to tak:
CLLocationCoordinate2D* c = (CLLocationCoordinate2D*) [[points objectAtIndex:0] bytes];
jednak ktoś twierdzi, że jest wyciek pamięci tutaj? Czy ktoś może zasugerować mi, gdzie jest wyciek i jak to naprawić. Ponadto istnieje lepszy sposób przechowywania listy CLLocationCoordinate2D w NSMutableArray? Proszę podać przykładowy kod, ponieważ jestem początkującym celem C.
NSValue jest lepszym wyborem, jest to przeznaczone specjalnie do tego, również powinieneś pozbyć się struktury –
Utworzono obiekt z dwoma podwójnymi właściwościami do utrzymywania szerokości i długości geograficznej ... Ponieważ musiałem dodać zgodność z NSCoding. Nie udało się skorzystać z tej sugestii, ponieważ podczas utrzymywania jest ona traktowana jako struktura i nie może kodować struktur. – LolaRun
@LolaRun Na pytania uzupełniające są niezadowolony. Powinieneś opublikować to jako osobne pytanie. –