javaSEがiOSアプリデザイン、開発に挑む日記

本業java SEがswift、デザインの勉強したことを残しておくブログ

swift 画面間で値を共有する

今までは画面遷移の際にセグエのidentiferから次の画面を特定して、次の画面のパラメータに値を入れて...

とか面倒くさいことやってたけどこんな簡単に出来るんだったとは...

 

AppDelegateに変数定義

class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?
    
    //画面間で共有したいパラメータ
    var isMapSelect:Bool?
    var lat:Double?
    var lon:Double?
    
    ...
    

初期値は与えられず、型指定が必要。そしてOptional。

 

値をセット

var appDelegate:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
appDelegate.lat = mapV.region.center.latitude
appDelegate.lon = mapV.region.center.longitude
appDelegate.isMapSelect = true

 

値を取得

var appDelegate:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
var isMapSelect:Bool = appDelegate.isMapSelect!

 

 appDelegateを使いこなしてないなぁ...