(적어도이 코드 조각)이 아니 당신의 의도를 생각으로
copy
이 고려되지 않는 모두
self.stateZips
파일로 초기화 된 사전 설정
plistPath
에서 지적되는 원인이된다.
두 번째로는 초기화 된 사전에 대한 포인터가 저장되지 않았고 보유 수 +1의 객체이므로 기술적으로 메모리 관리의 균형을 맞추기 위해 어떤 장소에서 메시지를 보내야합니다 (release
). . 그러나 객체에 대한 포인터를 검색 할 수있는 방법이 없기 때문에 메모리 누출이 발생할 수 있습니다.
두 가지 예외 사항이 적용됩니다
1.Garbage 컬렉션
을 당신이 쓰레기 수거 환경에 있다면, 모두 동일합니다. 음, 그들은 같지 않지만 그 결과는 비슷합니다. stateZips
의 세터는 단순히 포인터를 할당하는 경우
2.Property 유형
는, 당신은 바르 포인터를 사용하여 객체를 해제 할 수 있습니다. 다음 두 코드는 단 하나의 차이점 만 있습니다. 전자에서는 객체가 사용 된 직후에 릴리스됩니다. 후자의 경우, 그것은 단지 "정의되지 않은"것입니다. 컨텍스트가 없으면이 개체가 릴리스되었는지 여부와 언제 확인할 수 없습니다.
죄송합니다. Tatvamasi, 내가 게시 할 때 귀하의 질문을 보지 못했습니다. 그들은 매우 유사합니다. 나는 당신의 투표를 올렸지 만 나는 약간의 차이가있는 것처럼 보이기 때문에 나는 내 것을 떠날 것이다. – sidyll