Готовимся к Segue

Я пытаюсь передать данные из представления карты о аннотации точек всякий раз, когда нужный аксессуар детали подключается к другому представлению, которое будет отображать дополнительную информацию о аннотации точек, которая не отображается в черством виде. Я знаю, что мне нужно использовать override function prepareForSegue но как мне правильно настроить это, чтобы делать то, что я хочу. Другая информация о точечной аннотации исходит от Parse, поэтому я предполагаю, что мне нужно будет также настроить запрос. Пожалуйста помоги! Спасибо!!!

2 ответа

Решение

Ты можешь использовать 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)

}

Для получения дополнительной информации проверьте этот пример проекта.

Сначала вы называете Segue:

performSegueWithIdentifier("segue")

тогда готовимся к перестрелке

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "segue" {
        let viewController = segue.destinationViewController as! YourViewController
        controller.setPoint = "10"
    }
}

это установит значение до того, как произойдет переход. Надеюсь, поможет!

Другие вопросы по тегам