The UILabel is nil
<p>I have a ContentPageViewController class, it has the IBOutlet stuff. I write my getter of ContentPageViewController in the ViewController like the following code.</p>

<p>ContentPageViewController.h </p>

<pre><code>@interface ContentPageViewController : UIViewController

@property (weak, nonatomic) IBOutlet UILabel *busName;
@property (weak, nonatomic) IBOutlet UILabel *busTime;
@property (weak, nonatomic) IBOutlet UILabel *busType;

@end
</code></pre>

<p>ViewController.m</p>

<pre><code>- (void)viewDidLoad 
{
    [super viewDidLoad];

    // instantiation from a storyboard
    ContentPageViewController *page = [self.storyboard instantiateViewControllerWithIdentifier:@"ContentPageViewController"];
    self.page = page;

    // send url request
    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"https://api.apb-shuttle.info/now" ]];

    [self sendURLRequest:request];
    // add the view of ContendPageViewController into ViewController
    [self.view addSubview:self.page.view];
}

// It works if i remove the following code
- (ContentPageVC *)page
{
    if (_page) _page = [[ContentPageViewController alloc] init];

    return _page;
}
</code></pre>

<p>Nothing happened when I updated it. And it gave me a nil.</p>

<pre><code>- (void)updateUI 
{
     // I got null here
     NSLog("%@", self.page.busName)
     // The spacing style font
     NSDictionary *titleAttributes = @{
                                  NSKernAttributeName: @10.0f
                                 };
     NSDictionary *attributes = @{
                             NSKernAttributeName: @5.0f
                            };

     self.page.busName.attributedText = [[NSMutableAttributedString alloc] initWithString:bus.name
                                                             attributes:titleAttributes];
     self.page.busTime.attributedText = [[NSMutableAttributedString alloc] initWithString:bus.depart
                                                             attributes:titleAttributes];
     self.page.busType.attributedText = [[NSMutableAttributedString alloc] initWithString:bus.note
                                                             attributes:attributes];

}
</code></pre>

<p>The following code is when I called the updateUI:</p>

<pre><code>- (void)sendURLRequest:(NSURLRequest *)requestObj
{
    isLoading = YES;
    [RequestHandler PerformRequestHandler:requestObj withCompletionHandler:^(NSDictionary *data, NSError *error) { 
        if (!error) {
            bus = [JSONParser JSON2Bus:data];
            // Add the bus object into the array.
            [self.busArray addObject: bus];
            [[NSOperationQueue mainQueue] addOperationWithBlock: ^{
                [self updateUI];
                isLoading = NO;
            }];
        } else {
            NSLog(@"%@", [error localizedDescription]);
        }
    }];
}
</code></pre>

<p>But it worked if I removed the getter above. 
I have no idea how it works, please give me some hint. Thanks.</p>