我試圖使用調用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