ios - Required Constructor for UIViewController in Swift -


i have created viewcontroller subclass uiviewcontroller. have properties defined nullable shown below:

  // cloudkit      let container :ckcontainer?     let publicdb :ckdatabase? 

now, initialize using init constructor method , xcode complains need override initwithcoder constructor in opinion feels kind of unnecessary.

 init() {          container = ckcontainer.defaultcontainer()         publicdb = container!.publicclouddatabase          super.init(nibname: nil, bundle: nil)     }      required init(coder adecoder: nscoder) {          container = ckcontainer.defaultcontainer()         publicdb = container!.publicclouddatabase          super.init(coder: adecoder)     } 

i end lot of duplicate initialization code container , publicdb can see above.

is there better way of doing same have done?

you make method called setup or similar , shift these 2 lines

container = ckcontainer.defaultcontainer() publicdb = container!.publicclouddatabase 

in method. then, in different init methods, call self.setup().


edit

as workaround problem, make container , publicdb variables optional (which are) , set them in viewdidload. way, not have write init() methods @ all.


Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -