2011-07-28 3 views
1

Хорошо, я знаю, что я должен делать что-то неправильно, но штопала, если я могу понять это,IOS MKMapView regionDidChangeAnimated visibleMapRect вопрос

В основном я пытаюсь получить VisibleMapRect в вызове regionDidChangeAnimated, но это, кажется, как будто этот вызов запускается до того, как значение действительно будет установлено, потому что значение mapView.visibleMapRect равно NULL при первом вызове.

Attepting сделать сравнение между mapView.visibleMapRect к нулю, является недопустимым операнд бинарного выражения (MKMapRect к мочеиспусканию *)

NSLog(@"VISIBLE MAP RECT %d",mapView.visibleMapRect); 

Показывает 0 каждый раз.

NSLog(@"Visible Map Rect %@",mapview.visibleMapRect) 

показать (null) каждый раз.

И что мне делать? Как, черт возьми, я проверяю этот случай? Сравнение с nil неприемлемо. Я знаю, что должен быть способ справиться с этим, но я сейчас обманываюсь.

ответ

1

Свойство visibleMapRect имеет тип MKMapRect, который является структурой, поэтому% d и% @ не будут работать над структурой.

Вам необходимо либо войти отдельные поля внутри MKMapRect или использовать функцию MapKit MKStringFromMapRect:

NSLog(@"Visible Map Rect %@",MKStringFromMapRect(mapView.visibleMapRect)); 
Смежные вопросы