“그냥 전부 weak로 쓰세요”라는 말에는 작성자가 답할 만한 내용이 별로 없어요.

자기 자신을 강하게 캡처하는 콜백을 저장한 가상의 클래스 인스턴스를 살펴볼게요. 더 도움이 되는 리뷰 문장 두 가지는 “이 캡처를 약하게 두고, 인스턴스가 사라졌으면 콜백이 아무것도 하지 않게 하면 어떨까요?”와 “원래 소유자가 사라진 뒤에도 이 작업을 끝내야 한다면, 완료할 때까지 어느 객체가 작업을 유지해야 할까요?”예요.

첫 문장은 소유하지 않는 관계를 제안하면서 대상이 없을 때의 결과도 짚어요. 둘째 문장은 계속 유지할 책임이 어디에 있는지 물어요. 서로 다른 설계로 이어지며, 요구 사항에 따라 선택할 수 있어요. 강한 참조 순환을 끊는 것만으로 의도한 수명이 정해지지는 않아요.

존중하며 반대하더라도 제안된 변경을 받아들이지 않을 수 있어요. Swift 행동 강령은 건설적인 비판을 지지하고, 구체적인 비판은 작성자가 근거를 대거나 수정할 지점을 줘요. 관계를 명시하면 의견 차이에도 답할 수 있게 돼요.