从另一个视图控制器使用setter getter

时间:2018-07-18 17:48:23

标签: ios swift getter-setter ibdesignable ibinspectable

我已经用它的class(.Swift)创建了一个CustomView(.Xib)。 为了达到它的views(widgets)属性,我定义了几个getter和setter,现在我需要调用它们进行修改,但是当我从类中创建一个对象时,我无法修改属性或使用{{1} }方法。

这是我自定义的视图类代码:

get {}

在另一个视图控制器中,我无法实现获取和设置视图:

CustomClass.Swift

@IBOutlet weak var barLbl: UILabel!
@IBDesignable class CustomControl: UIView { 
@IBInspectable var lblSetGetName : String! {
    set { barLbl.text = newValue }
    get { return barLbl.text }
}

在这里,在另一个视图控制器类中,编译器说:class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let CustomControlObj : CustomControl! var lblName = CustomControlObj.lblSetGetName CustomControlObj.lblSetGetName = "New Txt" }

1 个答案:

答案 0 :(得分:1)

您可以这样加载

let customControlObj  = (Bundle.main.loadNibNamed("CustomView", owner: self, options: nil))?[0] as! CustomControl
customControlObj.frame = view.frame
customControlObj.lblSetGetName = "New Txt"
view.addSubview(customControlObj)