¿Cómo se implementaría el patrón de Método de plantilla en Swift 3.0?

Tienes cuatro opciones:

  1. Utilice el patrón de delegación de cacao en su lugar. En la delegación de Cocoa, los métodos específicos que se anularán se especifican en un protocolo, y la clase abstracta anterior es, en cambio, una clase concreta con una propiedad conforme a ese protocolo. Hay muchos ejemplos de esto en los marcos de Apple: UITableView y NSTableView son un buen lugar para comenzar.
  2. Si solo hay un método abstracto, tome un cierre como parámetro.
  3. En lugar de utilizar una superclase abstracta, defínalo como un protocolo con las partes fijas del algoritmo definidas en una extensión de protocolo.
  4. Defina una superclase que sea abstracta “informalmente” haciendo que los métodos abstractos llamen fatalError () . Si quieres ponerte sofisticado, puedes elaborarlo con un protocolo complementario para subclases concretas que contengan los métodos abstractos.