에서 해결하지이 코드 문제가 있습니다 : 문자열 값이 SEL
선택하면 UIColor
의 클래스 방법 알고 @"redColor"
이다로 전달되는UIColor resolveClassMethod은 선택
NSString *value = (NSString*)[self.colorsData objectForKey:key];
SEL selector = NSSelectorFromString(value);
BOOL isColorMethod = [[UIColor class] resolveClassMethod:selector];
; 'isColorMethod'
BOOL
은 항상 NO를 반환합니다.
이 코드는 내가 작성중인 스타일링 엔진 용입니다. respondsToSelector
그렇게되면 resolveClassMethod
가 작동하지 않는 이유를 잘 모르겠어요
BOOL isColorMethod = [[UIColor class] respondsToSelector:selector];
:
솔직히 나는 귀하의 질문에 대한 답을 갖고 있지 않습니다. 하지만 UIColor 객체를 colorsData 배열에 퍼팅하는 것이 어떻습니까? 그들은 NSString 객체보다 훨씬 많은 메모리를 거의 소비하지 않습니다. –
내 색상 값이 plist에서 String으로 가져 오기 때문에. 나는 16 진수, RGB 및 '빨강', '파랑'등과 같은 친숙한 이름으로 문자열을 변환합니다. 테마 엔진을 구축하고 있습니다. –
'[UIColor resolveClassMethod : selector];'를 사용하면 안됩니다. 어쨌든 차이가별로 없을 수도 있습니다. –