Swift: Convenience initializers - Self used before self.init call : <p>We are getting the following error on the convenience method below:</p>

<blockquote>
  <p>Self used before self.init call</p>
</blockquote>

<pre><code>class MyClass {
    var id : Int        
    var desc : String

    init?(id : Int, desc : String) {
        self.id = id
        self.desc = desc
    }

    convenience init?(id : Int?) {
        guard let x = id else {
            return
        }
        self.init(id : x, desc : "Blah")
    }
}
</code></pre>

<p>How can we implement this type of behavior in Swift?</p>
