일부 Objective-C | 코코아/코어 파운데이션 코드, 내가 이해할 수 없기 때문에 수정할 수없는 몇 가지 오류가 있습니다.ARC : 핵심 기초를 사용하여 Objective-C 코드로 분석기 경고 발생
오류 # 1 : Objective-C 클래스 헤더에서이 속성을 선언합니다. 몸에서
@property(readwrite) CFMutableSetRef gClients;
, 나는 다음과 같은 오류가 발생합니다 :
질문 : 왜 누수가? 나는 그것을 재산에 저장하고 나중에 처리합니다. ARC는 CF "객체"를 처리하는 방법을 알고있었습니다.
오류 # 2 : 나중에 , 나는 개체를 해제이 오류가 있습니다
질문 : 내가 만들기 위해 계정으로 두 분석기 경고를 취할 수있는 방법 실제로 작동하는 코드 (self.g 클라이언트는 ClientInitialize 및 destroyAllClient에 대한 호출 사이에 존재하지만) 플래그가 지정되지 않습니까?
답장을 보내 주셔서 감사합니다. 내가 어떻게 제안하니? 'gClients'는 다음과 같이 선언됩니다 :'@property (readwrite) CFMutableSetRef gClients;'self.gClients = (__bridge_retained) CFSetCreateMutable (NULL, 0, NULL); 오류가 발생합니다. –
'__bridge_retained'는'volatile' 나'const'와 같은 타입 수정 자입니다. '(__bridge_retained CFMutableSetRef)'를 시도하십시오. 그 기사 읽었 니? 꽤 명료하게 그 철자가 나와 있습니다. – StilesCrisis
'__bridge_retained'는 당신과 @Adrien이 원하는 것과 반대입니다. 그것은 객체를 반환 한 Create 함수에 의해 이미 보유되어있을 때 객체 *를 다시 유지합니다. ARC에게 "__bridge_transfer"를 원한다면 "이걸로 처리 할 수 있겠 니?". (이것은 당신이 링크 된 기사에 언급되어 있습니다.) –