Bryce Thomas
Bryce Thomas

Reputation: 10789

In XCode 4.6.2, why does creating an outlet on a UITextView auto-generate a viewDidUnload method

I have a simple "About" view that I've made in a storyboard. Basically all it has is a UITextView. It's controller looks like this:

// AboutViewController.m

#import "AboutViewController.h"

@interface AboutViewController()

@end

@implementation AboutViewController

@end  

I want to add an outlet for the UITextView so I can add some rounded corners in code. When I Ctrl + drag from the storyboard up in between the @interface and @end and call the outlet aboutBlurb, my AboutViewController.m becomes the following:

// AboutViewController.m
#import "AboutViewController.h"

@interface AboutViewController()
@property (weak, nonatomic) IBOutlet UITextView *aboutBlurb;

@end

@implementation AboutViewController

- (void)viewDidUnload {
    [self setAboutBlurb:nil];
    [super viewDidUnload];
}
@end

My question is, why is XCode inserting the viewDidUnload method and niling my aboutBlurb property? I thought with ARC, niling properties in the viewDidUnload method was unnecessary. Furthermore, I thought Apple had deprecated the viewDidUnload method completely in iOS 6. Is there a rational reason for the viewDidUnload method being auto-generated, or can I safely remove it?

Upvotes: 0

Views: 199

Answers (0)

Related Questions