UIViewController
はMain.storyboard
にあり、その識別子はsettings
に設定されています。私はMain.storyboard
を参照し、ビューコントローラをAppDelegate
にしてから、ビューコントローラ内にある変数の値を設定しますが、nilを返します。SwiftでAppDelegateから変数値を設定する方法は?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
let mainStoryboardIpad : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
if let settingViewController = mainStoryboardIpad.instantiateViewController(withIdentifier: "settings") as UIViewController? {
let settingVC = settingViewController as! SettingViewController
settingVC.moc = persistendContainer.viewContext
}
return true
}
そして、私はSettingViewController
で変数を次のようしている。
var moc: NSManagedObjectContext!
を私は、私がMain.storyboard
を取得することができていていることが確認さSettingViewController
とpersistentContainer.viewContext
は値を持っています。
'as UIViewController? 'を削除します。あなたはそれを必要としません。ただ書いてください: 'SettingViewController = mainStoryboardIpad.instantiateViewController(withIdentifier:" settings ")をSettingViewController'としてください。 – Honey
@Honey 'タイプ 'UIViewController'の値を 'SettingsViewController'と入力できません。強制的に ' –
私の悪い。あなたは 'として使用していたはずですか? SettingViewController' – Honey