1

I want to allow a pushed to set parentViewController's instance variables. For instance, VC1 (the parent) has a bunch of textfields and what not which are filled from VC2 (the child). VC2 is pushed onto the stack by VC1. I've tried doing like parentViewController.myString = "foo"; however since parentViewController is a UIViewController, I can't edit the myString field.

Basically, my question is "How can I access the parent's instance variables?"

Edit: I tried the solution here: Setting property value of parent viewcontroller class from child viewcontroller? but it is chocked full of syntax errors.

Community
  • 1
  • 1
skylerl
  • 4,030
  • 12
  • 41
  • 60

1 Answers1

4

Have the parent view controller subclass UIViewController (e.g. ParentViewController), implement all the properties for instance variables you wish to manipulate, and set the variables as ((ParentViewController *)parentViewController).myString = @"foo";.

E.g.

@interface ParentViewController : UIViewController {
    NSString *myString;
}
@property (nonatomic, retain) NSString *myString;
@end

and

@implementation ParentViewController

@synthesize myString;

@end
MrMage
  • 7,282
  • 2
  • 41
  • 71