Error : Instance member cannot be used on type 'ViewController'
Error : Instance member cannot be used on type 'ViewController'
我在下面创建了 UIView
的子类:
import UIKit
class MenuBar : UIView {
override init(frame : CGRect ){
super.init(frame: frame)
setupViews()
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func setupViews(){
}
}
然后,我想将它添加到我的 ViewController
:
let menuBarView : MenuBar = {
let mbv = MenuBar(
mbv.translatesAutoresizingMaskIntoConstraints = false
mbv.backgroundColor = UIColor.green
return mbv
}()
但它 return 一个错误:
实例成员 'MenuBar' 不能用于类型 'ViewController'
不太确定,但你的代码甚至不应该像菜单栏的惰性变量实例化所说的那样编译
let mbv = MenuBar(
应该是
let mbv = MenuBar()
最终工作代码为
let menuBarView : MenuBar = {
let mbv = MenuBar()
mbv.translatesAutoresizingMaskIntoConstraints = false
mbv.backgroundColor = UIColor.green
return mbv
}()
测试过,绝对没问题。
编辑:
这就是我的使用方式,它运行良好!
//other variable declaration
let menuBarView : MenuBar = {
let mbv = MenuBar()
mbv.translatesAutoresizingMaskIntoConstraints = false
mbv.backgroundColor = UIColor.green
return mbv
}()
override func viewDidLoad() {
super.viewDidLoad()
self.view.addSubview(menuBarView)
// Do any additional setup after loading the view, typically from a nib.
}
我在下面创建了 UIView
的子类:
import UIKit
class MenuBar : UIView {
override init(frame : CGRect ){
super.init(frame: frame)
setupViews()
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func setupViews(){
}
}
然后,我想将它添加到我的 ViewController
:
let menuBarView : MenuBar = {
let mbv = MenuBar(
mbv.translatesAutoresizingMaskIntoConstraints = false
mbv.backgroundColor = UIColor.green
return mbv
}()
但它 return 一个错误: 实例成员 'MenuBar' 不能用于类型 'ViewController'
不太确定,但你的代码甚至不应该像菜单栏的惰性变量实例化所说的那样编译
let mbv = MenuBar(
应该是
let mbv = MenuBar()
最终工作代码为
let menuBarView : MenuBar = {
let mbv = MenuBar()
mbv.translatesAutoresizingMaskIntoConstraints = false
mbv.backgroundColor = UIColor.green
return mbv
}()
测试过,绝对没问题。
编辑:
这就是我的使用方式,它运行良好!
//other variable declaration
let menuBarView : MenuBar = {
let mbv = MenuBar()
mbv.translatesAutoresizingMaskIntoConstraints = false
mbv.backgroundColor = UIColor.green
return mbv
}()
override func viewDidLoad() {
super.viewDidLoad()
self.view.addSubview(menuBarView)
// Do any additional setup after loading the view, typically from a nib.
}