我有一个带有活动指示器的View Controller,可以从我的数据库中获取数据。获取所有数据后,此视图将执行SegueWithIdentifier并使用prepareForSegue将数据传递给TableViewController。我遇到的问题是,如果我在获取数据的视图和获取数据的TableViewController之间添加导航控制器prepareForSegue不起作用,我在TableViewController上看不到数据。但是,如果我删除导航控制器,我得到的数据就好了。下面是我的prepareForSegue方法。我在那里嵌入了一个导航控制器,以便通过这个segue获得我想要的过渡效果,这应该让TableViewController从左侧滑入并带有push segue。感谢
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "serviceView" {
if let destination = segue.destinationViewController as? ServiceTableViewController {
destination.firstName = self.firstName
destination.lastName = self.lastName
destination.email = self.email
destination.streetAddress = self.streetAddress
destination.aptOrSuite = self.aptOrSuite
destination.state = self.state
destination.city = self.city
destination.zipcode = self.zipcode
destination.phone = self.phone
}
}
}
答案 0 :(得分:0)
嵌入视图控制器,用于获取导航控制器中的数据,而不是表视图控制器,因此两个视图控制器都位于导航控制器的视图控制器堆栈中
答案 1 :(得分:0)
首先你需要访问NavigationController,然后是topViewController,将topViewController转换为你的目标NavigationController
let destinationNavigationController = segue.destination as! UINavigationController
let targetController = destinationNavigationController.topViewController as! serviceView
targetController.firstName = self.firstName