我试图理解为什么在等号之后需要以下方法调用(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*) 片段的方法定义是什么?
幸运的是,代码可以使用特殊的语法,但由于我从未见过这种类型的方法调用,我的脑袋想知道在方法调用和初始化程序方面我是否遗漏了其他东西。