我的应用程序需要在两个单独的地图中实现一个地图UIViewController
,问题是一旦其中一个地图被渲染,试图打开第二个地图会导致EXC_BAD_ACCESS
在 AppDelegate 的声明中显示的错误,我尝试使用 Zombies 和它什么也没显示,尝试分析,再次显示什么,我尝试以各种方式呈现地图,包括:以编程方式,presentViewController()
以及在每个 .storyboard 中都有一个 mapkit 并使用嵌入 map.storyboard 的 containerViews 只包含一个地图包。
在控制台中输入 bt 会给我这个:
libglInterpose.dylib`EAGLContext_renderbufferStorageFromDrawable(EAGLContext*, objc_selector*, unsigned int, id) + 204, queue = 'com.apple.main-thread', 停止原因 = EXC_BAD_ACCESS (code=EXC_ARM_DA_ALIGN, address=0x69725659)
我正在使用 Xcode7-Beta5 和 Swift,任何其他可能的调试方法的帮助,或者更有效地管理地图的某种方式,将不胜感激。
MapViewController.swift(还没有做任何事情,因为我无法让它们同时渲染)
import UIKit
import MapKit
class MapViewController: UIViewController {
@IBOutlet weak var mapView: MKMapView!
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewDidDisappear(animated: Bool) {
super.viewDidDisappear(animated)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
编辑:
好的,所以层次结构有点像这样:
我有一个UITabBarController
,其中一个选项卡是地图,从另一个选项卡有一个视图层次结构,最终导致一个显示另一个地图的按钮。
我能够通过将 Map.storyboard 的实例放在我的 TabBarController 子类中,然后UIContainerView
在我的两个UIViewController
应该有地图的 s 上使用 s 并将子 ViewController(来自 TabBarController 的地图)及其视图添加到 ViewContainer 来渲染两个地图