title: Is convenience keyword really necessary in swift?
body: <p>The convenience keyword in swift completely confused me. It doesn't seem useful at all. Calling other initializer (or say constructor) in same or super class is a very common feature in object oriented languages, like Java, C# and etc. If any member is not initialized, the compiler gives a warning. It seems the only thing it does is to restrict the call to other initializer to same class, which makes it seems even more useless. So, why bother having this keyword at all?</p>
  
  <p>I saw some other threads online discussing about this but none of them is really convincing.</p>
  
  <p>Does anyone know the real purpose of this keyword?</p>