나는 조금 게으르다가 나에게 곰이 될지도 모른다. 내 상황이야. 나는 2 개의 비 원자 속성을 갖는 클래스를가집니다. 예를 들면 다음과 같습니다.@synthesized 속성을 사용자 정의 할 수 있습니까?
@property (nonatomic, retain) UITextField *dateField;
@property (nonatomic, retain) NSDate *date;
구현시 예상대로 합성합니다. 내가 원하는 것은 setter가 호출 될 때마다 dateField (dateField의 text 속성을 멋지게 형식화 된 날짜 버전으로 설정)에 대한 작업도 수행한다는 것입니다.
는 난 그냥 수동으로 수행하여 내 구현 날짜 세터을 무시할 수 실현 다음 : 난 아직도 목표 C가 유지/릴리스주기를 처리 할 수 있지만, 할 수 있다면
- (void) setDate:(NSDate *)newDate {
if (date != newDate) {
[date release];
date = [newDate retain];
// my code to touch the dateField goes here
}
}
무엇 좋지 않을까 것은 retain/release/set이 발생한 후에 호출되는 커스텀 핸들러를 "등록"(보다 나은 용어가 부족한 경우) 할 수 있어야합니다. 내 짐작으로 그건 불가능합니다. 그래도 내 google-fu는이 문제에 대한 답을 찾지 못했습니다. 그래서 물어볼 것입니다.
오른쪽, 그래서 관련 질문은 하나가 @synthesize는 다양한 상황에서 무엇을하는지에 대한 샘플 코드를 찾을 수있는 곳입니다 : 당신은 이상적으로 다른 이름으로) 명백한 이름을 사용하여 속성, 비공개 문서로해야 , 할당, 원자 등) –
멋진, 대답 주셔서 감사합니다. 이론 상으로는 KVO에 대해 알고 있지만 예제를 얻는 것이 좋습니다. setter 코드의 버그를 지적 해 주셔서 감사합니다. 나는 그것을 실제로 사용하지 않고 (분명히) 그것을 썼다. 제 질문을 편집하여 다른 사람들을 오도하지 마십시오. –
나는 눈이 멀어야한다 ... 코드에서 무엇을 수정 했습니까? 오 .. 질문이 수정 되었어야합니다. – Schultz9999