I know there isn't a direct way for implementing abstraction iOS, below is how I am doing it.
protocol ParentClass: class {
  func doSomething()
  func doSomething1()
}
class ChildClassA: ParentClass {
  func doSomething() -> Bool {
  }
  func doSomething1() -> Bool {
  }
}
class ChildClassB: ParentClass {
  func doSomething() -> Bool {
  }
  func doSomething1() -> Bool {
  }
}
How do I declare initializer in ParentClass? I want to add an initializer which will create object for ChildClassA or ChildClassB. What I basically want is: if a Flag is set, execute doSomething() from ChildClassA or execute doSomething() from ChildClassB.