2012-04-30 2 views
4

나는 엽차 테스트와 엑스 코드에서 뷰 컨트롤러를 테스트하기 위해 권장되는 방법은iOS에서 테스트 할 때 "weak"를 지정하는 이유는 무엇입니까?

@property (nonatomic, readwrite, weak) MyMainViewController* mainViewController; 

왜 그냥

@property (nonatomic, strong) MyMainViewController* mainViewController; 

와의 인스턴스를 통해입니다 것으로 나타났습니다?

+1

어디서이 사용법을 보았습니까? –

답변

2

기본적으로 readwrite가 반드시 필요한 것은 아닙니다. 강력한 vs 약한 경우 약점을 사용하는 주된 이유는 참조주기 (즉, 서로에 대한 강력한 참조가있는 두 개체가 할당 취소되지 않도록)를 피하는 것입니다.

1

@borrrden이 언급했듯이 약한 참조는 유지주기를 피하려고 할 때 유용합니다.

약한 참조를 찾고있는 경우 Mike Ash가 this post을 읽는 것이 좋습니다. 약한 참조를 0으로 설정하는 것과 0이 아닌 약한 참조를 만드는 것의 차이점을 이해하는 것이 중요합니다.

관련 문제