2014-03-07 1 views
1

아시다시피 인터페이스 vars는 ARC 모드의 dealloc() 메소드에서 수동으로 (self.var = nil) 해제 될 필요는 없지만 블록 변수는 어떻게됩니까? 블록 복사를하면 해제 할 필요가 없습니까? 계기에 의해 블록 var 메모리 누수를 추적하는 방법에 대해서는 잘 모릅니다.Obj-C ARC 모드에서 dealloc 메소드에서 수동으로 블록 변수를 해제해야합니까?

아는 사람은 누구나 공유하고 감사드립니다.

+0

ARC 모드에서 릴리즈를 쓸 필요가 없으며 ARC 모드가있는 release 문을 파일에 쓰면 해당 릴리즈 문에서 오류가 발생합니다. – DharaParekh

+0

self.var = nil (ARC 모드) [_var release]와 동일 (None-ARC 모드) – jianhua

답변

1

[block copy]은 ARC에서 처리합니다.

Block_copy을 사용하는 경우 Block_release을 사용해야하지만 ARC에서는 위 양식을 사용하는 것이 좋습니다.

+0

ARC 모드에서 [블록 해제]가 암시 적으로 호출됨을 의미합니까? 감사. – jianhua

+0

예 - 문서를 지금 발견하기에는 너무 게으르지 만, 정확하게 'Block_copy'및 'Block_release'를 사용하는 방법을 파악할 때 Apple 문서에서 읽은 것입니다. 그런 다음 . – greymouser

+0

좋아요, 당신 말이 맞아요. 감사. – jianhua