2012-01-13 1 views
3

전체 프로젝트에서 ARC 마이그레이션 도구를 여러 번 사용할 때 약간의 불일치가 있음을 발견했습니다. 예를 들어ARC 이전 도구를 파일 단위로만 사용할 수 있습니까?

:

- (void)dealloc { 
    [ivar release], ivar = nil; 
} 

첫번째 반복 convertis 이에는 :

- (void)dealloc { 
    ivar = nil; 
} 

번째 반복은 alltogether -dealloc를 제거한다. ARC가 자동으로 자동으로 수행하므로 ivars를 -dealloc에 ​​nil로 설정하는 것은 이치에 맞지 않는다고 가정하면 ARC가 ivar = nil을 가장 먼저 떠납니다.

이상한 버그를 방지하려면 전체 프로젝트가 아닌 하나의 특수 파일에만 ARC 마이그레이션 도구를 사용하는 방법이 있습니까?

답변

4

편집> 리팩터링> Objective-C ARC로 변환을 선택하면 시트가 프로젝트의 대상 목록과 함께 열립니다. 대상 옆에있는 펼침 삼각형을 클릭하면 소스 파일 목록이 표시됩니다. 여기에서 ARC로 변환 할 파일을 선택할 수 있습니다.

enter image description here

1

저는 그렇게 생각하지 않습니다. ARC 지원을 사용하기 위해 프로젝트를 "변환"할 필요가 없습니다. dealloc, release 및 nil (필요한 경우) 호출을 모두 제거합니다.

컴파일러가 모든 것을 처리하고 Xcode를 버그가 없으므로 이상한 버그는 변환 후에 발생하지 않아야합니다.

+0

저는 모든 프로젝트를 손으로 변환하는 것이 매우 유용하다는 것을 알았습니다. 작은 문제가있을 것이므로 일어나는 일에 대해 나에게 멋진 재충전을 할 수 있습니다. –