クラスがあります
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
}
}
}
しかし、私はこのエラーを受け取りました:すべての保存されたプロパティが初期化される前にメソッド呼び出し「buildCircle」で「self」を使用する
したがって、何らかのメソッドでオブジェクトを作成し、それを保存されたプロパティに割り当てたいだけです。コードを修正するにはどうすればよいですか?
オプションではないすべてのインスタンス変数が初期化される前に、selfでメソッドを呼び出すことはできません。それを回避する方法はいくつかあります。
buildCircle()
たファイル内のメソッド静的または単に機能を呼び出すとaddSubview()
、すべての円のプロパティのすべてが初期化された、あなたが呼ばれた後、super.init()
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加