今回は、AppDelegateから他のクラスのメソッドを呼び出す方法を紹介します。
このやり方には二通りあるので用途に合わせてご使用ください。
補足
Swift4.0にも対応しています。
今回のサンプルコードはViewControllerクラスを使用しています。
クラスの値を使う場合
記述するコードは、以下の3つです。
AppDelegateのclassの下に記述するコード
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var viewController: ViewController!
////下は省略/////
AppDelegate内でメソッドを呼び出したいところで記述するコード
let appDelegate = UIApplication.shared.delegate as! AppDelegate appDelegate.viewController.メソッド名()
ViewController内のviewDidLoadに記述するコード
override func viewDidLoad() {
super.viewDidLoad()
let appDelegate:AppDelegate = UIApplication.shared.delegate as! AppDelegate
appDelegate.viewController = self
}
クラスの値は使わない
記述するコードは、以下の1つです。
AppDelegate内でメソッドを呼び出したいところで記述するコード
ViewController().メソッド名()
[Swift]iPhoneの画面サイズごとにStoryboardを変更する
[Xcode]よくあるエラー。Undefined symbols for architecture i386 …
