Swift 立即到达NSTextField的两个IBO出口
我有一个带有两个NSTEXT字段的登录页面,所以我在我的viewcontroller中创建了两个@IBOutlets。对于某些样式,我必须同时调用它们。我想给他们同样的属性,但我不想称他们为个体。那么,我怎样才能一次访问它们,给它们一个属性,比如Swift 立即到达NSTextField的两个IBO出口,swift,xcode,macos,nstextfield,Swift,Xcode,Macos,Nstextfield,我有一个带有两个NSTEXT字段的登录页面,所以我在我的viewcontroller中创建了两个@IBOutlets。对于某些样式,我必须同时调用它们。我想给他们同样的属性,但我不想称他们为个体。那么,我怎样才能一次访问它们,给它们一个属性,比如inputFields.isBordered=true 对于iOS,swift提供@IBOutletCollection,但对于MacOS则不提供 @IBOutlet weak var emailInput: NSTextField! @
inputFields.isBordered=true
对于iOS,swift提供@IBOutletCollection
,但对于MacOS则不提供
@IBOutlet weak var emailInput: NSTextField!
@IBOutlet weak var passwordInput: NSTextField!
override func viewWillAppear() {
emailInput.isBordered = true
passwordInput.isBordered = true
}
所以我想要两个像
inputFields.isBordered=true那样调用它们,而不是单独调用。例如:
func modifyTextFields(_ closure: (NSTextField) -> Void) {
closure(emailInput)
closure(passwordInput)
}
// usage:
modifyTextFields { $0.isBordered = true }
或者
var textFields: [NSTextField] { // this kind of works like an outlet collection
return [emailInput, passwordInput]
}
// usage:
textFields.forEach { $0.isBordered = true }