XCodeでUIViewのサブクラスを作る際にrequire init()が必要な場合と必要ない場合はどのようなときでしょうか?

import UIKit

class MyUIView:UIView
{
    required init(coder aDecoder: NSCoder!) {
        super.init(coder: aDecoder)
    }
}

同じUIViewのサブクラスでもrequired init()がない場合もあります。
必要な場合と必要で無い場合を教えていただけないでしょうか?