iOS (Swift) - 在模拟器中转换应用程序委托窗口的根视图控制器,但在手机上加载应用程序时失败



当我用以下代码行运行我的应用程序时(在AppDelegate.swift文件中):

func locationManager(manager: CLLocationManager!,
    didRangeBeacons beacons: [AnyObject],
    inRegion region: CLBeaconRegion!) {
    let viewController:ViewController = window!.rootViewController as! ViewController
    viewController.beacons = beacons as! [CLBeacon]
    viewController.tableView.reloadData()
 ...... }

只有当我在模拟器中运行应用程序时才能完美运行。否则,当我在手机上运行应用程序时,我得到这个运行时错误:

无法将类型'UITableViewController' (0x198be57d0)的值转换为"beaconTest。ViewController ' (0 x1000e15d0)。

ViewController是UITableViewController的子类,定义如下:

http://wwww.pastebin.com/1bM80ipp

窗口的根视图控制器被设置在哪里?

如果是在故事板中,确保根视图控制器的类是ViewController而不是UITableViewController

最新更新