이것의 차이점은 무엇입니까?
@property (nonatomic, weak) id <SubClassDelegate> delegate;
이:
@property (nonatomic, assign) id <SubClassDelegate> delegate;
대리인에게 속성을 사용하고 싶습니다.
답변:
유일한 차이점 weak
및 assign
객체 경우이다 weak
속성 포인트가 해제되는 다음의 값 weak
포인터로 설정 될 것입니다 nil
당신이 쓰레기를 액세스하는 위험을 실행하지 않도록. 를 사용 assign
하면 그렇게되지 않으므로 객체가 아래에서 할당 해제되고 액세스하려고하면 쓰레기에 액세스하게됩니다.
Objective-C 객체의 경우를 사용할 수있는 환경에 weak
있으면이를 사용해야합니다.
UITableView
를 assign
위한 경우도 있습니다 .@property (nonatomic, assign) id <UITableViewDelegate> delegate;