Swift:尝试推送到现有视图控制器时使用“未声明类型”

问题描述 投票:0回答:1

所以我试图以编程方式推送到故事板上的现有视图控制器,但我正在使用未声明的类型:LoginViewController甚至我将Storyboard ID设置为LoginViewController这里是我的代码:

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var myButton: UIButton!

    @IBAction func Button(_ sender: UIButton) {
        if let ButtonImage = myButton.image(for: .normal),
            let Image = UIImage(named: "ButtonAppuyer.png"),
            UIImagePNGRepresentation(ButtonImage) == UIImagePNGRepresentation(Image) 
        {
            let loginVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "LoginViewController") as! LoginViewController
            self.navigationController?.pushViewController(loginVC, animated: true)
        } else {
            print("OK")
        }
    }

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

先感谢您!

swift xcode viewcontroller
1个回答
1
投票

确保创建一个继承自UIViewController的新类LoginViewController

为此,请转到“文件”菜单>“新建”>“文件”

new file

在iOS选项卡中,选择Cocoa Touch Class

New Class

接下来

给出类名LoginViewController,并使其成为UIViewController的子类

class name

单击Next,然后单击Create。这将为您的项目添加一个新文件,您可以/应该稍后自定义其内容。

在故事板中,在Identity Inspector选项卡中,确保将类名和标识符设置为LoginViewController

Storyboard

© www.soinside.com 2019 - 2024. All rights reserved.