I know this question is asked often, I've read so much on it but I still cant get it to work. Lets say I have two classes, FirstClass and SecondClass. FirstClass has a label and SecondClass wants to get the text of that label. Here is what I've done:

```
//FirstClass
@interface FirstClass : UIViewController
{
@public
    UILabel *theLabel;
}
@property (strong, nonatomic) UILabel *theLabel;

@implementation FirstClass
@synthesize theLabel;

//SecondClass
#import "MainGameDisplay.h"
@interface SecondClass : UIViewController
{
    MainGameDisplay *mainGame;
}
@property (strong, nonatomic) UILabel *theSecondLabel;

@implementation SecondClass

-(void) thisMethodIsCalled {
    mainGame = [[FirstClass alloc] init];

    self.theSecondLabel.text = mainGame.theLabel.text;
    NSLog(@"%@",mainGame.theLabel.text); //Output is '(Null)'
}

```

theLabel.Text is not nil as it's being changed every second and is also displaying the label on the other controller which is running in the background whilst the SecondClass view is loaded. Could someone please point me to the write direction if I'm completely wrong, or show me some kind of example as to how this would be done. Thank you.

---

EDIT:

```
@Implementation FirstClass
@synthesize theLabel;

- (void)viewDidLoad {
    [self superview];
    [self startTickCount];
}

-(void) startTickCount {
            timer = [NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(timeChanger) userInfo:nil repeats:YES];
}

-(void) timeChanger {
        theDay++;
        NSLog(@"%@",self.theLabel.text);
        if (theDay <= 9)
            self.theLabel.text = [NSString stringWithFormat: @"0%i", theDay];
        else
            self.theLabel.text = [NSString stringWithFormat: @"%i", theDay];
        if (theDay > 27)
            [self monthChanger];
}

```

That's pretty much it. The NSLog outputs the day as expected.