编辑:我意识到为什么我被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.
}
}
但是我一直收到“预期的声明”错误。到目前为止,使它起作用的唯一方法是在viewDidload方法中包含imageView.image声明。
答案 0 :(得分:0)
将imageView.image = UIImage(named: "shiba")
放入viewDidLoad()
函数中。
swift类由一系列声明组成。这些声明可以是变量,可以是常量,函数,ext。因此,当您将imageView.image = UIImage(named: "shiba")
直接放在类中时,swift希望该行声明一些内容(var,let,func)。通过将您的语句放在viewDidLoad()
内,您说该语句应在调用viewDidLoad()
时执行。当所有插座都连接好并且在用户对视图不可见之前,将调用viewDidLoad()
,这是为您的情况设置图像视图的好时机。