2012-10-09 3 views
1

수동 보유 및 릴리스를 수행중인 프로젝트에서 작업하고 있습니다. 다음 링크에서 이와 관련된 많은 자습서 중 하나를 보았습니다.iOS : iOS 개발시 수동 보유 릴리스

http://www.drdobbs.com/mobile/automatic-reference-counting-on-ios/240000820

나는 위의 링크에서 약간의 혼란 스러워요. 'Managing by Messaging'제목에서 'alloc/init'을 사용하면 ref가 증가합니다. '1'로 계산하면 다시 '유지'하면 다시 증가하여 '2'가되고 '유지'를 다시 사용하면 '3'이되지만 이 아닌은 '해제'되어 완전히 해제됩니다. 메모리 대신에 그들은 단지 두 번 해방됩니다. 어떻게 가능합니까? 나는 이것을보고 나서 조금 혼란 스럽다.

+0

아마도 vdots는 추가'release's를 나타 냅니까? ;) – Cfr

답변

1

그들은 두 번을 발표하는 것이 아니라 retainCount가 0이 될 때까지 출시한다고 표시하는 중입니다.

+0

오, 알았어! 그래서, 위에서 언급 한 것처럼 카운트가 '3'으로 증가한다면, 우리는 '해제'를 완전히 풀 수있는 3 번해야합니다. – Daisy

+1

네, 맞습니다. 당신이 세 번 머물렀다면, 세 번 풀어 주어야합니다. 그것은 그 보유 수를 0으로 줄이면 좋을 것입니다! (내 지식이 맞다면) – MCKapur

+0

아니요, 나는 3 번이나 머물러 있지 않습니다. 나는 두 번만 유지하지만 그 alloc/init 전에 한 번, 그래서 총 심판. count는 '3'입니다. 이것은 제가 말한 것입니다. 그래서,이 경우에도 내 질문에 언급 ref. 카운트가 '3'이되면 적절한 장소에서 3 번 '출시'해야합니다. – Daisy