iphone - MKMapView错误

标签 iphone objective-c ios mkmapview

我猜错误太严重了,因为它的工作原理与我想要的完全一样,但我收到了一条令人不安的警告消息。我将 UIViewController 添加到 TabBarController,我想要它做的就是显示 map View ,然后在用户单击该选项卡时放大用户。我构建了 xib,我所做的唯一编辑是将 MKMapView 拖过来并连接 socket 和委托(delegate)。除此之外,这是所有的实现代码:

- (void)viewDidLoad
{

    [super viewDidLoad];

    [mapView setShowsUserLocation:YES];

}

- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation {

    CLLocationCoordinate2D loc = [userLocation coordinate];
    MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(loc, 250, 250);
    [mapView setRegion:region animated:YES];

}

问题是我在最后一行收到黄色警报错误,显示““mapView”的本地声明隐藏了实例变量。”

但是,当我运行该应用程序时,它似乎工作正常。这个错误可能指的是什么?

最佳答案

发生这种情况是因为您将 MKMapView 对象声明为 mapView。看一下方法声明:

- (void)mapView:(MKMapView *)mapView

它使用与您自己的变量相同的名称。这就是编译器似乎遇到问题的地方。我自己已经遇到过几次这种情况,我的解决方案是更改我的变量名称(例如,您可以使用 worldView)。

我想你也可以用 self 来解决。与其他语言一样,您可以使用 this.variableName,我认为您可以使用 self.variableName 来指示这是“您的”变量。如果这有意义吗?

当我声明自己的方法时,我通常这样做:

 - (void)feedDog:(Dog *)aDog;

然后我的变量将被称为Dog以避免混淆。

这就是我所做的。如果有人对此有任何补充,请随时补充。我对此还很陌生,但我现在确实遇到过这个错误几次。

关于iphone - MKMapView错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6934434/

相关文章:

iPhone 关闭蓝牙 GKPeerPickerController

iphone - xcconfig 文件中的预处理器宏

objective-c - 当我将 NSCollectionView 中的项目拖动到 Finder 时如何获取拖动目标 url

ios - 在 iTunesConnect 上的何处提交 Apple Watch 应用程序

iphone - 在 iPhone 中使用 OpenCV 从图像创建视频

iphone - 将 Urbanairship 集成到我的 iOS 应用程序中所需的最少文件集是什么?

objective-c - 在使用 AutoLayout 扩展到指定高度后重新启用 UITextView 滚动

objective-c - XMPP 不适用于 iOS 4.3 项目

ios - 视网膜显示屏图像看起来模糊不清。没有理由为什么?

ios - Swift 4 · 数据转换