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