Я пытаюсь понять, почему следующий вызов вызова метода (MKPinAnnotationView *) после знака равенства.Уникальный способ вызова метода вызова
Определение этого метода можно найти в заголовке MKMapView.h.
/ Used by the delegate to acquire an already allocated annotation view, in lieu of allocating a new one.
- (MKAnnotationView *)dequeueReusableAnnotationViewWithIdentifier:(NSString *)identifier;
Когда я смотрю на выборочных вызовов для этого метода я вижу следующий синтаксис:
MKPinAnnotationView *view = (MKPinAnnotationView*)[mapView dequeueReusableAnnotationViewWithIdentifier:kPinIdentifier];
Если метод возвращает объект MKAnnotationView; почему я не могу написать метод следующего вызова:
MKPinAnnotationView *view = [mapView dequeueReusableAnnotationViewWithIdentifier:kPinIdentifier];
Если слева от знака равенства, у меня есть объект MKAnnotationView, что цель (MKPinAnnotationView *) после знака равенства и перед вызовом метода ?
Кроме того, что это за определение метода, которое обеспечивает использование части (MKPinAnnotationView *) после знака равенства?
К счастью, код работает со специальным синтаксисом, но, поскольку я никогда не видел этот вызов метода, моя голова задается вопросом, не пропадает ли что-то еще, когда дело доходит до вызовов методов и инициализаторов.
Подумайте о наследовании. Вы знаете, что кенгуру является млекопитающим, но является млекопитающим кенгуру? –