1. ホーム
  2. ios

[解決済み] 警告 ビューがウィンドウ階層にない * 上に * を表示しようとする - swift

2023-05-14 14:15:06

質問

を表示しようとしています。 ViewController もし には、データモデルに保存されたデータがあります。しかし、次のようなエラーが発生します。

警告。Attempt to present * on *whose view is not in the window hierarchy"

関連するコードです。

override func viewDidLoad() {
    super.viewDidLoad()
    loginButton.backgroundColor = UIColor.orangeColor()

    var request = NSFetchRequest(entityName: "UserData")
    request.returnsObjectsAsFaults = false

    var appDel:AppDelegate = (UIApplication.sharedApplication().delegate as AppDelegate)
    var context:NSManagedObjectContext = appDel.managedObjectContext!

    var results:NSArray = context.executeFetchRequest(request, error: nil)!

    if(results.count <= 0){
        print("Inga resultat")
    } else {
        print("SWITCH VIEW PLOX")
        let internVC = self.storyboard?.instantiateViewControllerWithIdentifier("internVC") as internViewController
        self.presentViewController(internVC, animated: true, completion: nil)
    }
}

Googleで見つけたさまざまな解決策を試しましたが、成功しませんでした。

どのように解決するのですか?

この時点では、ビューコントローラのビューは作成されただけで、 どのビュー階層にも追加されていません。もしそのビューコントローラからできるだけ早くプレゼンテーションを行いたいのであれば、 それを viewDidAppear で行うのが最も安全です。