The UIViewControllerRestoration protocol should be adopted by classes that act as "restoration classes” for view controllers during the state restoration process. The method in this protocol should be used to create the view controller, if it does not yet exist, or return an existing view controller object, if one does exist.


To use a class that adopts this protocol, you must assign that class to the restorationClass property of one of your app’s view controllers.


Creating the View Controller

static func viewController(withRestorationIdentifierPath: [Any], coder: NSCoder)

Asks the receiver to provide the view controller that corresponds to the specified identifier information.