title: swift - can I call a struct default memberwise init from my custom init method?
body: <p>If I create a swift struct with no <code>init</code>, then I can call the compiler-generated default memberwise initialiser, like so:</p>
  
  <pre><code>struct OrderFill {
      let price:Int
      let qty: Int
      let timeStamp: NSDate
  }
  let o = OrderFill(price: 2, qty: 1, timeStamp: someDate)
  </code></pre>
  
  <p>What I'd like to do is create a convenience init method to deserialise from a dictionary, which then chains to the default memberwise init. Something like</p>
  
  <pre><code>struct OrderFill {
      let price:Int
      let qty: Int
      let timeStamp: NSDate
  
      init(dict:[String:AnyObject]) throws {
          self.init(
              price: dict["price"] as! Int
              qty: dict["qty"] as! Int
              timeStamp: try parseDate(dict["ts"] as! String)
      }
  }
  let o = OrderFill(someDict)
  </code></pre>
  
  <p>When I try write this code though, the compiler (Xcode 7.2) gives me the error "Extra argument 'qty' in call" as though it doesn't see the default memberwise and is trying to recursively call <code>init(dictionary)</code></p>
  
  <p>I can write my own memberwise init, or I can simply assign the properties directly from my <code>init(dictionary)</code>, but it'd be nice if I could chain the call. Is there any way to do this in swift?</p>