키 값 코딩에 어떤 방법을 사용하는 것이 더 좋습니까? MyController 클래스에는 변수 myVariable이 있다고 가정합니다. 어떤 사람은 좋지 않은 의견과 왜 좋은 의견을 쓸 수 있습니까? 보기 첫 번째 부분의 내 관점에서 KVC는 어떤 접근 방식을 사용합니까?
[myController addObserver:self
forKeyPath:@"myVariable"
options:NSKeyValueObservingOptionNew
context:nil];
// Method in the MyController class.
- (NSString*)myVariableKVC {
return NSStringFromSelector(@selector(myVariable));
}
[myController addObserver:self
forKeyPath:[myController myVariableKVC]
options:NSKeyValueObservingOptionNew
context:nil];
이것은 실제로 잘못되었습니다. 선택기 이름에 오타가 있으면 컴파일러에서 경고를 생성하지 않습니다. 그것은 하드 코딩 된 마술 문자열을 사용하는 것과 다르지 않습니다. – Darren
아, 네 말이 맞아. 나는 "알려지지 않은 선택자"경고를주는 데 사용 된 것 같은 기분입니다. 아마도 혼란 스러울 지 모르겠습니다. 오 잘. 후손을 위해 편집 됨. – ipmcc
엄격한 컴파일러 경고가있는 경우 (필요한 경우) 해당 선택기가 어디에도 존재하지 않으면 오류가 발생합니다. –