2012-02-27 3 views
0

iPhone - dealloc - Release vs. nil에서 다소 관련있는 질문을 찾았지만 내 질문에 대답하지 않았습니다.Xcode 4.2.1에서 Storyboard를 사용하는 경우 Dealloc

나는 스토리 보드에 버튼 UIScrollview과 그 안에 레이블을 만들었습니다.

@implementation ViewController 

@synthesize goButton; 

@synthesize label; 

@synthesize scroller; 

을 그리고 viewDidUnload에서 만든 : 내가 가지고있는

@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의 상단에

: 나는 ViewController.h에 개체를 Ctrl 키 드래그하면 그들은이 만들어

[self setGoButton:nil]; 

[self setScroller:nil]; 

[self setLabel:nil]; 

scroller = nil; 

[super viewDidUnload]; 

모두 자동으로 생성됩니다. deallocrelease에 대한 많은 참조를 보았습니다. 이 코드는 미리 작성된 내용으로 메모리 누수를 방지합니까? 또는 dealloc을 추가해야합니까? 내가 작성한 모든 오류에 대해 사과드립니다.

+0

[IBOutlets는 ARC 하에서 강력해야합니까?] (http://stackoverflow.com/questions/7678469/should-iboutlets-be-strong-or-weak-under-arc) 가능한 복제본 – sch

답변

0

IBOutlet이 weak로 표시되면 viewDidLoad에서 nil로 설정할 필요가 없습니다. ARC로 컴파일하는 경우에는 dealloc을 작성할 필요가 없습니다. 어떤 경우에도 컴파일러 자체는 dealloc 또는 release 문을 작성하면 오류를 줄 것입니다.

Xcode 4 ARC가 기본 옵션 인 경우 코드가 메모리 안전하다는 것을 확신 할 경우.

+0

약한 물건을 놓을 필요가 없습니까? – ET42

관련 문제