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
Post a Comment