2009-10-04 4 views
0

는 내가 가지고있는 코드입니다.아이폰 메모리 관리 질문 여기 객체 라이브 사이클

왜 DissmissWelcomeMessage가 정상적으로 작동하고 경고 개체가 해제 되더라도 충돌하지 않는 이유는 무엇입니까?

왜냐하면 Dismiss 함수는 함수가 전달 될 때 스택에 전달 된 객체의 복사본을 매개 변수로 사용하기 때문입니까? 하지만 그럼에도 불구하고 그것은 지금 할당 해제 된 객체를 가리키는 포인터의 사본이 아닐까요?

또는 [경고 릴리스] 참조 횟수를 계산할 때 실제로 C++에서 과 동일한 작업을 수행하지 않습니까?

답변

3

performSelector가 개체를 보유하므로 릴리스에서 보유 개수가 0이되지 않습니다.

이 방법은 선택을 수행 한 후까지 수신기와 anArgument 파라미터를 유지 NSObject docs

참조.

+0

감사합니다. NSObject 문서에서 그 부분을 놓쳤습니다. – leon

0

performSelector가 전달 된 객체를 보유 할 가능성이 있습니다. 따라서 DismissWelcomeMessage가 호출 될 때 여전히 유효합니다.