2016-04-13 14 views

cevap

1

Genel yöntemlerinizi final yapıp, soyut sınıfta hiçbir şey yapmayan ancak herkese açık final yöntemlerini çağırdığınız boş internal yöntemlerini açığa çıkarmanızı öneririm. Böyle

şey:

class AbstractViewController { 
    internal func willDoStuff() { 
    } 

    internal func didDoStuff() { 
    } 

    final public func doStuff() { 
     willDoStuff() 
     // Do the stuff 
     didDoStuff() 
    } 
} 

class RealViewController : AbstractViewController { 
    override internal func willDoStuff() { 
     print("Will do stuff") 
    } 
} 

let viewController = RealViewController() 
viewController.doStuff()