(이전 버전과의 호환성을 위해) NSViewController의 자체 버전을 구현하려고하는데 바인딩에 문제가 발생했습니다. 바인딩은 대상을 유지하므로 파일을 통해 바인딩 할 때마다 원형을 유지합니다. 소유자.NSViewController가 바인딩 메모리 누수를 피하는 방법은 무엇입니까? [샘플 응용 프로그램을 가지고]
그래서 저는 수퍼 뷰에서 내 뷰를 명시 적으로 제거하고 최상위 수준의 객체를 릴리스한다고 생각했습니다. 내 컨트롤러가 뷰를 더 이상지지하지 않아 바인딩을 처리 할 것이므로 릴리스합니다. 나랑 나는 갈 수있어. 그러나 어떤 이유로 든 내 View Controller는 아직 공개되지 않습니다. 여기에 문제를 나타내는 샘플 응용 프로그램입니다 :
http://dl.dropbox.com/u/34351/BindingsLeak.zip
그것을 실행, 그것을 구축하고, Cmd를-K 히트 빈 창으로 NIB를로드 ("편집"메뉴에서 "펜촉 만들기"). Cmd-K를 다시 눌러 첫 번째보기 컨트롤러 (TestNibOwner)를 해제하고 새 View Controller를로드하십시오. 그래도 이전보기 컨트롤러는 결코 할당 취소되지 않습니다.
체크 상자의 "값"바인딩을 제거하면 잘 풀립니다.
release/retain/autorelease 오버라이드에서 중단 점을 설정하면 _NSBindingInfo가 TestNibOwner를 유지하지만 누출 상태에서 중단되지 않습니다.
누구든지 문제를 해결하는 방법을 알고 계십니까?
미안, 내가 먼저 프로젝트를 다운로드하고 싶지 않아 도와주세요. 코드를 제공 할 수 있습니까? –