UIImageView 的预期声明

Expected Declaration with UIImageView

编辑:我意识到为什么我对 viewdidload 感到困惑。这个练习的目的是处理正在显示的更改图像,我只是在玩代码只是为了测试它是否显示。现在我把问题的代码放在一起,我对发生的事情有了更清楚的了解。

class ViewController: UIViewController {

    @IBOutlet weak var imageView: UIImageView!

    override func viewDidLoad() {
        super.viewDidLoad()
    }
    @IBAction func btnNext(_ sender: Any) {
        imageView.image = UIImage(named: "husky")
    }

我无法将图像加载到单个视图 IOS 应用程序中。这是我的代码:

class ViewController: UIViewController {

    @IBOutlet weak var imageView: UIImageView!

    imageView.image = UIImage(named: "shiba")

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }     

}

但我一直收到 "expected declaration" 错误。到目前为止,我让它工作的唯一方法是在 viewDidload 方法中使用 imageView.image 声明。

将您的 imageView.image = UIImage(named: "shiba") 放入 viewDidLoad() 函数中。

swift中的一个class是由一系列声明组成的。这些声明可以是变量、let 常量、函数、ext。因此,当您将 imageView.image = UIImage(named: "shiba") 直接放在 class 中时,swift 期望该行声明某些内容(var、let、func)。通过将您的语句放在 viewDidLoad() 中,您是说只要调用 viewDidLoad() 就应该执行该语句。 viewDidLoad() 当所有插座都已连接并且视图对用户可见之前被调用,这是像您的情况一样为图像视图设置图像的好时机。