我上课了
class ChartView: UIView
{
class: DotView {
let circleView1: UIView
let circleView2: UIView
init (view: UIView)
{
self.view = view
self.circleView1 = self.buildCircle(some rect here)
self.circleView2 = self.buildCircle(some rect here)
func buildCircle(rect: CGRect) -> UIView
{
let dotView = UIView(frame: rect)
dotView.backgroundColor = UIColor.whiteColor()
dotView.layer.cornerRadius = dotView.bounds.width / 2
self.view.addSubview(dotView)
return dotView
}
}
}
Run Code Online (Sandbox Code Playgroud)
但我得到了这个错误:在初始化所有存储属性之前,在方法调用'buildCircle'中使用'self'
所以我只想在某个方法中创建对象,然后将其分配给存储的属性.我该如何修复我的代码?
Tob*_*bol 14
在初始化所有非可选实例变量之前,您无法在self上调用方法.有几种方法可以解决这个问题.
buildCircle()方法成为静态或只是文件中的一个函数,并addSubview()在初始化所有属性并调用之后调用所有圆圈
super.init()| 归档时间: |
|
| 查看次数: |
11232 次 |
| 最近记录: |