본문 바로가기

프로그래밍/iOS

[ios] performSelector 사용 시 leak 경고

- 문제 


SEL _selector = NSSelectorFromString(method);

id retVal = [self performSelector:_selector];

 

위와 같이 사용하면 ARC 환경에서 selector를 몰라 leak이 생길 수 있다고 경고가 뜬다.

 

 

- 해결법

 

#import <objc/message.h>

헤더파일을 추가한 뒤

id retVal = [self performSelector:_selector];

문장을

id retVal=objc_msgSend(self,_selector);

으로 바꾸어 주면 경고가 사라진다.