title: Swift 3.1 deprecates initialize(). How can I achieve the same thing?
body: <p>Objective-C declares a class function, <code>initialize()</code>, that is run once for each class, before it is used. It is often used as an entry point for exchanging method implementations (swizzling), among other things.</p>
  
  <p>Swift 3.1 deprecates this function with a warning: </p>
  
  <blockquote>
    <p>Method 'initialize()' defines Objective-C class method 'initialize',
    which is not guaranteed to be invoked by Swift and will be disallowed
    in future versions</p>
  </blockquote>
  
  <p>How can this be resolved, while still maintaining the same behaviour and features that I currently implement using the <code>initialize()</code> entry point?</p>