2012-10-18 3 views
1

: 비 ARC 프로젝트기본 속성 선언 그냥 다음을 수행하면 기본 속성 값은 무엇

@property (nonatomic) UIButton *myButton; 

. 이것을 유지합니까?

+2

속성의 기본값은 할당입니다. 참조 : [이 링크] (http://stackoverflow.com/questions/805972/is-assign-the-default-setup-of-the-property-compiler-directive) 그리고 더 많은 정보 : [이 링크] (https : //developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjectiveC/Chapters/ocProperties.html) – Daniel

답변

2

ARC가 아닌 프로젝트의 경우 유지되고 할당되거나 복사 된 것을 정확히 보는 것이 중요하므로이 기본값을 사용하지 않는 것이 좋습니다.

읽기 전용, 원자 적 및 비 원자력과 같은 다른 많은 특성을 가질 수있는 여러 속성을 가진 클래스를 보면 읽기가 어렵습니다. 게터 = 등 비록

는 그래서 당신은 결국 따라 잡을 때 당신의 속성 정의가 좀 더 명시 적으로 만들 수있는 가장 일반적인 용도에 대한

#define ASSIGN nonatomic, assign 
#define RETAIN nonatomic, retain 

처럼 일정한 헤더에 정의 # 퍼팅 완벽하지 dealloc 메소드를 작성하면 릴리스해야하는 것을 빠르게 확인할 수 있습니다.

@property (ASSIGN) Foo* foo; 

또는

@property (RETAIN) Foo* foo; 

내가 무슨 그게 전부가 다운 속성 정의에 소음을 유지하고 코드가 문제를 해결할 때 좀 더 쉽게 읽거나 수 같은 대부분의 내 속성 정의의

보인다 수동 메모리 관리 응용 프로그램을 완성합니다.