我是iPhone新手,使用MKMapView在我的应用程序中加载了Google的地图。但是它引发了异常“MKMapView必须在主线程上初始化”。所以我应该在哪里初始化MKMapView对象。我正在初始化viewDidLoad()

提前致谢.....

最佳答案

未在主线程上创建的原因是2个选项之一

  • 创建它的视图位于后台线程之一
  • 您正在调用performSelectorInBackground:创建视图

  • 在主线程上执行功能performSelectorOnMainThread:
    题外话:如果函数需要多于1个参数,请将其更改为NSDictionary并将所有设置加载到Dictionary中并将其传递给例如
    NSDictionary *params = ...... //load your parameters into here
    
    [myMapView performSelectorOnMainThread:@selector(initMap:)
                                    withObject:params
                                 waitUntilDone:YES];
    

    另请阅读以下FirstSecond以更好地了解iOS中的多线程

    关于ios - MKMapView必须在主线程上初始化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8804725/

    10-14 23:31
    查看更多