0
すべてのプロジェクトでインスタンスを使用します。私はoptionViewControllerでこれを試してみました
protocol OptionControllerDelegate: NSObjectProtocol {
func changeMapDisplayMode(controller: OptionController)
}
class OptionController: UIViewController {
weak var delegate: OptionControllerDelegate?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func changeMapType(sender: AnyObject) {
delegate?.changeMapDisplayMode(self)
}
}
及びこれをtraceViewControllerに表示されませんでした。 私はchangeMapTypeボタンをタップするだけで何もしません... いくつかのアイデアはありますか? :/
でデリゲートメソッドを実装します。
は
OptionController
にデリゲートを追加しますか?画面はどのように見えますか?それは実際に画面の一部を所有する子ビューコントローラでなければなりませんか? – Wain私は地図と最初の画面があり、私はマップの種類を変更したい別の画面(オプション画面)を持っているので、地図を表示する最初の2つのビューコントローラと、このマップに従ってオプションの2番目の –
MKMapViewの2つの別々のインスタンスを持って、デリゲートやプロパティ(例:マップの中心、現在のマップタイプなど)によって同様に見えるようにする変数を渡す方が良いでしょう。 ) – shim