objective c - How can I pass a parameter when initializing a UIViewController? -


i have 2 controllers, first- , secondviewcontroller. want share methods of firstviewcontroller use them in secondviewcontroller.

this how create secondviewcontroller in firstviewcontroller:

sms = [[secondviewcontroller alloc] init]; uinavigationcontroller *navcontroller = [[uinavigationcontroller alloc]                                              initwithrootviewcontroller:sms];  [self presentmodalviewcontroller:navcontroller animated:yes]; 

i thought of passing current instance of firstviewcontroller secondviewcontroller extends uiviewcontroller. default initwithnibname method of secondviewcontroller called.

how achieve in objective-c?

im not sure understand problem... part of issue has how instantiating secondviewcontroller... posting code help.

but answer question have asked it.... "how pass firstviewcontroller secondviewcontroller"...

in secondviewcontroller.h create own init method

-(id) initwithfirstviewcontroller:(uiviewcontroller *)thefirstviewcontroller; 

and in .m file...

-(id) initwithfirstviewcontroller:(uiviewcontroller *)thefirstviewcontroller {   self = [super initwithnibname:@"mynibname" bundle:nil];   self.firstviewcontroller = thefirstviewcontroller; //this assumes have created property.  also, not retain first view controller or circular reference , secondviewcontroller leak.    return self;  } 

then.. , here key.. make sure calling correct init method instantiate secondviewcontoller

secondviewcontroller *svc = [[secondviewcontroller alloc]initwithfirstviewcontroller:self]; 

now.. having said that.. looking @ rating, have feeling knew this.. , real question may be... why initwithnibname being called when not calling explicitly?


Comments

Popular posts from this blog

objective c - Change font of selected text in UITextView -

php - Accessing POST data in Facebook cavas app -

c# - Getting control value when switching a view as part of a multiview -