편집 : 내 질문에 대해 죄송합니다. 정적 분석기로 표시된 오류가 선 앞에있는 것으로 나타났습니다.
Obj-C 메서드은 ABRecordRef
을 생성하고 반환하며 호출 코드에서 CFRelease
에 의한 CF 개체 생성의 균형을 조정했지만 정적 분석기는 메모리 CF 객체의 관리가 올바르게 수행되어 "잠재적 누설"이 발생했습니다.
메서드를 C 함수으로 변환했으며 경고가 사라졌습니다.iOS : ARC에서 ABNewPersonViewController를 만들면 "잠재적 누출"경고가 나타납니다.
원래 질문 :
ARC에서 모달로 표시되는 UINavigationController
의 하위 클래스가 있습니다. viewDidLoad
방법에서
, 나는 ABNewPersonViewController
을 설정하고 다음 코드를 사용하여 탐색 스택에 밀어하여 제시 :
ABNewPersonViewController *personViewController = [[ABNewPersonViewController alloc] initWithNibName:nil bundle:nil];
personViewController.newPersonViewDelegate = self;
personViewController.displayedPerson = self.contactToBeAdded;f
[self pushViewController:personViewController animated:NO];
모든 것이 잘 작동을하지만 정적 분석기는 1 라인에서 제공 코드의 "메모리 (핵심 기초/목표 -C) 잠재적 인 개체 누출"경고.
왜 나는이 경고가 있으며 어떻게 제거 할 수 있는지 이해할 수 없습니다.
제안 사항이 있으십니까?
이 문제를 지원하는 문서를 제공해 주시겠습니까? – Lefteris
물론 그렇습니다. [Here] (http://stackoverflow.com/questions/16949353/uiviewcontroller-present)와 관련하여 @Stas에 대한 좋은 답을 찾을 수 있습니다. –
글쎄, 그건 우리가 아는 바를 말해 줄 뿐이다. 뷰가 아직 초기화되지 않았기 때문에 viewDidLoad 델리게이트에 view 또는 viewController를 절대로 제공해서는 안되지만 view 또는 viewController가 뷰에 추가되지 않는다는 것을 의미하지는 않는다. UIWindow 뷰 계층 구조. 새보기 또는 viewController를 그리는 데 컨텍스트를 찾을 수없는 경우 링크에서 표시 한 것과 같은 오류가 OS에서 발생합니다. – Lefteris