准备转场
Preparing for Segue
我正在尝试从地图视图传递有关点注释的数据,只要点击正确的详细信息附件到另一个视图,该视图将显示有关未在无情视图中显示的点注释的更多信息。我知道我需要使用 override function prepareForSegue
但我如何正确设置它来做我想做的事。有关点注释的其他信息来自 Parse,所以我假设我也必须设置一个查询。请帮忙!
谢谢!!!
您可以使用 NSUserDefaults
以这种方式将值从您的地图视图传递到另一个视图:
func mapView(mapView: MKMapView!, annotationView view: MKAnnotationView!, calloutAccessoryControlTapped control: UIControl!) {
let title = view.annotation.title
NSUserDefaults.standardUserDefaults().setObject(title, forKey: "mapTitle")
performSegueWithIdentifier("mapToCity", sender: self)
}
在您的下一个视图中,您可以通过以下方式获取值:
override func viewDidLoad() {
super.viewDidLoad()
let foo1 = NSUserDefaults.standardUserDefaults().objectForKey("mapTitle") as! String
println(foo1)
}
有关更多信息,请查看 THIS 示例项目。
首先调用 segue:
performSegueWithIdentifier("segue")
然后准备继续:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "segue" {
let viewController = segue.destinationViewController as! YourViewController
controller.setPoint = "10"
}
}
这将在 segue 发生之前设置值。
希望对您有所帮助!
我正在尝试从地图视图传递有关点注释的数据,只要点击正确的详细信息附件到另一个视图,该视图将显示有关未在无情视图中显示的点注释的更多信息。我知道我需要使用 override function prepareForSegue
但我如何正确设置它来做我想做的事。有关点注释的其他信息来自 Parse,所以我假设我也必须设置一个查询。请帮忙!
谢谢!!!
您可以使用 NSUserDefaults
以这种方式将值从您的地图视图传递到另一个视图:
func mapView(mapView: MKMapView!, annotationView view: MKAnnotationView!, calloutAccessoryControlTapped control: UIControl!) {
let title = view.annotation.title
NSUserDefaults.standardUserDefaults().setObject(title, forKey: "mapTitle")
performSegueWithIdentifier("mapToCity", sender: self)
}
在您的下一个视图中,您可以通过以下方式获取值:
override func viewDidLoad() {
super.viewDidLoad()
let foo1 = NSUserDefaults.standardUserDefaults().objectForKey("mapTitle") as! String
println(foo1)
}
有关更多信息,请查看 THIS 示例项目。
首先调用 segue:
performSegueWithIdentifier("segue")
然后准备继续:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "segue" {
let viewController = segue.destinationViewController as! YourViewController
controller.setPoint = "10"
}
}
这将在 segue 发生之前设置值。 希望对您有所帮助!