С объектами, я могу написать аксессор вернуть nil
если объект не является действительным:Возврат ноля для STRUCT аксессора
- (Weather *)howsTheWeather
{
if (![WeatherNetwork isAvailable]) {
return nil;
}
Weather *weatherNow = [WeatherNetwork getWeather];
return weatherNow;
}
Я хотел бы сделать это с CLLocationCoordinate2D
, struct
для проведения широту и долготу. Я попытался это:
- (CLLocationCoordinate2D)coordinate
{
CLLocationCoordinate2D coord = CLLocationCoordinate2DMake(self.latitude, self.longitude);
if (!CLLocationCoordinate2DIsValid(coord)) {
return nil;
}
return coord;
}
Но компилятор жалуется «Возвращение„недействительным *“из функции с несовместимого типа результата" CLLocationCoordinate2D»
Какой самый лучший способ справиться с такой ситуацией? Я подумывал написать отдельный метод -(BOOL)isLocationValid:(CLLocationCoordinate2D)coordinate
. Есть ли лучший способ справиться с этим?