잠시 동안이 주제에 대해 조사했습니다. 나는 여전히 속성에 대한 커스텀 Setter를 작성하는 것이 좋은지 또는 KVO를 사용하는 것이 필요한지 확실하지 않습니다. 내가 가지고 싶은맞춤 설정 기 또는 KVO 사용
는 다음과 같습니다 :
I 클래스 MyInputBox
을 가지고 maxCharCount라는 하나의 속성, maxCharCount의 값이 변경 될 때, 내가 뭔가를하고 싶지가있어. 그래서이 일을, 내가 사용
@interface MyInputBox : UITextField
@property (nonatomic, assign) NSUInteger maxCharCount;
@end
후 초기화 방법에서, 나는 다음과 같이 수행
[self addObserver:self forKeyPath:@"maxCharCount" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld context:nil];
- (void)observeValueForKeyPath:(NSString *)keyPath
ofObject:(id)object
change:(NSDictionary *)change
context:(void *)context
{
if ([keyPath isEqualToString:@"maxCharCount"]){
[self setLabelWarningByDefaultText];
}
}
이 지정 세터를 사용하는 것보다 더 나은가요? 내가 정의 세터를 사용하는 경우 수행 할 때
게다가, 당신의 클래스는 뷰 클래스이기 때문에 willChangeValueForKey:
및 didChangeValueForKey:
답장을 보내 주셔서 감사합니다. – Vigor