object-c - Masonry가 순환 참조를 발생시키지 않는 이유에 대한 질문
高洛峰
高洛峰 2017-05-02 09:30:40
0
1
675

코드는 예시일 뿐입니다. 제가 이해한 것이 맞는지 모르겠습니다.

으아아아

블록은 self를 보유하지만 self.view는 이 블록을 보유하지 않습니다. 왜냐하면 Masonry의 소스 코드는 다음과 같기 때문입니다.

으아아아

그냥 블록(constrainMaker)입니다. self.block = block(constrainMaker)로 변경되면 뷰에도 블록이 유지되나요?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

모든 응답(1)
我想大声告诉你

블록이 반드시 순환 참조를 유발한다는 것은 사실이 아닙니다. 순환 참조인지 여부는 서로 강한 참조를 유지하는지 여부에 따라 다릅니다. self가 블록에 사용되면 블록은 self에 대한 참조를 유지하지만 self는 블록을 직접적 또는 간접적으로 유지하지 않으므로 순환 참조가 발생하지 않습니다.

당신의 이해가 정확합니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿