我想访问password
中Menu
的{{1}}属性,以检查ChangePasswordClass
是否等于oldPassword
。如何在password
课程中使用password
?我无法使用ChangePasswordClass
因为它给了我错误
实例成员'密码'不能在类型'菜单'
上使用
Menu.swift:
Menu.password
ChangePasswordClass.swift:
import Cocoa
class Menu: NSViewController {
//Textfields
@IBOutlet var passwordBoxShowed: NSTextField!
@IBOutlet var passwordBoxHidden: NSSecureTextField!
//Menu Buttons
@IBOutlet var connectButton: NSButton!
@IBOutlet var changePasswordButton: NSButton!
//Show password box
@IBOutlet var showPasswordBox: NSButton!
//Password show or not
@IBAction func showPassword(_ sender: NSButton) {
if showPasswordBox.state == 1 {
passwordBoxHidden.isHidden = true
passwordBoxShowed.isHidden = false
passwordBoxShowed.stringValue = passwordBoxHidden.stringValue
} else if showPasswordBox.state == 0 {
passwordBoxHidden.isHidden = false
passwordBoxShowed.isHidden = true
passwordBoxHidden.stringValue = passwordBoxShowed.stringValue
} else {
}
}
//Password verification process
var password = "1234"
@IBAction func connexionTrigger(_ sender: NSButton) {
if passwordBoxHidden.stringValue == password {
performSegue(withIdentifier: "passwordSegue", sender: self)
} else {
// password error
}
}
//change password process
@IBAction func changePasswordTrigger(_ sender: NSButton) {
performSegue(withIdentifier: "changeSegue", sender: self)
}
override func viewDidLoad() {
super.viewDidLoad()
}
}
答案 0 :(得分:0)
password
是类Menu
的实例属性,但您用来访问它的语法是用于访问类型属性。
根据具体用例,您有两种选择:
password
声明为静态变量,您的代码将起作用。 static var password = "1234"
Menu
类的每个实例的密码应该不同,则需要在导航到Menu
实例之前传递ChangePasswordClass
实例的引用。类。此外,更改这段代码:
if Menu.password == true {
} else {
}
password
是String
,因此无法将其与Bool
进行比较,而且这种比较也没有任何意义。