Mam niestandardowej klasy, który ma jako zmiennej instancji o współrzędnych:Uchwyt Puste struktury w Objective-C (współrzędnych w niestandardowej klasy)
CLLocationCoordinate2D eventLocation;
@property(nonatomic) CLLocationCoordinate2D eventLocation;
mam parsowania pliku XML, który ma pole opcjonalne które mogą lub nie mogą tam być. Jeśli jest ustawić go tak:
CLLocationCoordinate2D location;
NSArray *coordinateArray = [paramValue componentsSeparatedByString:@","];
if ([coordinateArray count] >= 2) {
location.latitude = [[coordinateArray objectAtIndex:0] doubleValue];
location.longitude = [[coordinateArray objectAtIndex:1] doubleValue];
} else {
NSLog(@"Coordinate problem");
}
info.eventLocation = location;
Co zrobić, to jest w zasadzie dodać adnotację na mapie
annotation.coordinate = alert.info.eventLocation;
Wiem, że muszę zrobić kilka sprawdzenie tutaj, aby upewnić się, że istnieje, ale nie wolno mi robić if (info.eventLocation == nil)
ani nawet if (info.eventLocation.latitude == nil)
To wydaje się bardzo podstawowe pytanie, ale zrobiłem kilka wyszukiwania i nikt nie był w stanie naprawdę dostarczyć dobrej odpowiedzi/idei. Czy moja architektura jest całkowicie wyłączona?
kiedy dodać to do mojego pliku .h mojego niestandardowego obiektu Dostaję błędy: Initializer element nie jest stała (przy inicjalizacji dla „”) EmptyLocationCoordinate.latitude Initializer element nie jest stała (przy inicjalizacji dla 'EmptyLocationCoordinate.longitude') – aleclerc
Właściwie alert.info.eventLocation = EmptyLocationCoordinate nadal daje "Nieprawidłowe argumenty do Binary! =" błąd – aleclerc
Ach, być może trzeba #define EmptyLocation. –