class Graphic: UIView {

    var _context: CGContextRef!
    var w: Float!
    var h: Float!
    var photo: Photo


override init() {
    super.init(frame: CGRectZero)
    w = Float(self.frame.width)
    h = Float(self.frame.height)
    photo.initialize(CGFloat(w), h: CGFloat(h))

}


required init(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
}

Photoは自作クラスで特に何も継承していません。
このとき、

super.init(frame: CGRectZero)

において、

Property self.photo not initialized at super init call

というエラーが表示されます。
また、photo の宣言がなかったとしてもfatalErrorになってしまいます。

ここで質問なのですが、まず、UIViewにおいてのコンストラクタのoverrideと、ある自作クラスを宣言した上でのUIViewにおけるその取り扱いを教えていただけないでしょうか?
どうぞよろしくお願いいたします。