Dealloc при использовании Storyboard в Xcode 4.2.1 - PullRequest
0 голосов
/ 27 февраля 2012

Я нашел несколько похожий вопрос на iPhone - dealloc - Release против nil , но он не ответил на мой вопрос.

Я создал кнопку, UIScrollview и метку внутри нее в раскадровке. Когда я перетаскивал объекты в ViewController.h, они создали это:

@interface ViewController : UIViewController{

    __weak IBOutlet UIScrollView *scroller;
}

@property (weak, nonatomic) IBOutlet UIButton *goButton;

@property (weak, nonatomic) IBOutlet UILabel *label;

@property (weak, nonatomic) IBOutlet UIScrollView *scroller;

- (IBAction)pressGo:(id)sender;

@end

И в верхней части ViewController.m у меня есть:

@implementation ViewController

@synthesize goButton;

@synthesize label;

@synthesize scroller;

И в viewDidUnload он создал:

[self setGoButton:nil];

[self setScroller:nil];

[self setLabel:nil];

scroller = nil;

[super viewDidUnload];

Все создано автоматически. Я видел много ссылок на dealloc и release. Будет ли этот код, готовый материал, предотвращать утечки памяти? Или я должен добавить dealloc? Я прошу прощения за любые ошибки, которые я сделал ... Я новичок в этом.

1 Ответ

0 голосов
/ 27 февраля 2012

Если IBOutlet помечен как слабый, нет необходимости устанавливать их равными nil в viewDidLoad.Если вы компилируете с ARC, вам также не нужно писать dealloc, в любом случае сам компилятор выдаст вам ошибку, если вы напишете какое-либо предложение dealloc или release.Вы убедитесь, что ваш код безопасен для памяти.

...