Tienes cuatro opciones:
- 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.
- Si solo hay un método abstracto, tome un cierre como parámetro.
- 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.
- 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.