我试图使用调用viewDidLoad()
调用的类中的方法更新UIimageview
图像。我试图改变由图像:Swift 3:实例成员不能在类型“视图控制器”上使用
MyIMage.image = UIImage(named: "image2")
但它给我的错误:
Instance member cannot be used on type "view controller"
我要去哪里错了?
我的代码:
import UIKit
class ViewController: UIViewController {
@IBOutlet var MyImage: UIImageView!
var MyStruct = ChangeImage()
struct ChangeImage {
private var _isChanged: Bool = false
mutating func Set_Change(val: Bool) {
if (val) {
MyImage.image = UIImage(named: "image2")
self._isChanged = true
} else {
MyImage.image = UIImage(named: "image1")
self.isChanged = false
}
}
func isChanged()-> Bool {
return self._isChanged
}
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
MyStruct.Set_Change(val: true)
print (MyStruct.isChanged())
}
}
你的根本问题是,你不明白一个类和对象之间的区别(这是一个类的实例)。您正试图使用MyImage,这是一个类,就好像它是一个对象。建议您在进一步阅读之前阅读有关面向对象编程的基本书籍或教程,以便了解基础知识,因为如果您不这样做,您将无法获得任何地方。 – Gruntcakes