ios - How to recreate the UITableViewController's initializing behavior? -


i creating own base class act uitableviewcontroller replacement (let's call irtableviewcontroller). thus, subclassing uiviewcontroller , want have following initializers, in similar fashion uitableviewcontroller:

-(id)init; -(id)initwithnibname:(nsstring *)nibnameornil bundle:(nsbundle *)nibbundleornil; -(id)initwithstyle:(uitableviewstyle)style; 

the implementation above looks this:

-(id)init {     return [self initwithstyle:uitableviewstyleplain]; }   // designated initializer of superclass must call new designated initializer -(id)initwithnibname:(nsstring *)nibnameornil bundle:(nsbundle *)nibbundleornil {     return [self initwithstyle:uitableviewstyleplain]; }   // designated initializer, must call superclass designated initializer - (id)initwithstyle:(uitableviewstyle)style {     self = [super initwithnibname:nil bundle:nil];     if (self)     {         self.style = style;         self.clearsselectiononviewwillappear = yes;     }     return self; } 

now, if do not override -loadview, things work desired when have nib file , initialize new subclass using 1 of following:

myirtableviewcontroller *vc = [[myirtableviewcontroller alloc] init]; myirtableviewcontroller *vc = [[myirtableviewcontroller alloc] initwithstyle:uitableviewstyleplain]; myirtableviewcontroller *vc = [[myirtableviewcontroller alloc] initwithnibname:nil bundle:nil]; myirtableviewcontroller *vc = [[myirtableviewcontroller alloc] initwithnibname:@"myirtableviewcontroller" bundle:nil]; 

the problem comes when want use base class without nib file. in case, understanding, need set view property (as add uitableview subview) in -loadview. if override method, means run in cases, when initializing objects with associated nib file.

is there way want? , worse, if override -loadview, according docs, not supposed call [super loadview], how ignore whatever happens there when have nib file?

ps. have seen matt gallagher's related post, in case calls [super loadview] , avoid that.

if have aversion calling [super loadview] in case nibname != nil load nib using loadnibnamed:(nsstring *)name owner:(id)owner options:(nsdictionary *)options ?


Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

c++ - qgraphicsview horizontal scrolling always has a vertical delta -