나는 SOOO 늦게위한 해요,하지만 다른 방법으로 와서 내 응용 프로그램에서 테스트. 그것은 작동하기 때문에 미래에이 질문을 찾을 수있는 사람들을 위해 공유 할 것입니다.
은 기본적으로 당신이하고 싶은
@property (readonly) BOOL enableProperty;
이이 사실 없습니다 헤더 파일에 정의
BOOL enableProperty;
, 또는 어느 곳을 의미 컨트롤러에 대응하는 값없이 속성을 만드는 것입니다
합성하지 말고 직접 게터를 작성하고 조건을 입력하십시오.
- (BOOL) enableProperty{
return (condition);
}
세 번째 단계 : 언제든지 조건 변경, 그것을 통지하는 기회가.
- (void) someMethod{
//.... Some code
[self willChangeValueForKey:@"enableProperty"];
[Thisline mightChange:theCondition];
[self didChangeValueForKey:@"enableProperty"];
//.... Some other code
}
네 번째 단계 : IB,이 "가짜"속성에 컨트롤의 enabled 속성을 바인딩합니다.
즐기십시오! ;)
Francis,이 제품은 매우 유용하며 직접 사용될 수 있으며 문서화가 잘되어 있습니다. 그것은 나에게 그리스어가 아니지만 당신이 지금 나를 위해했던 코딩을 피하기를 바랬다.) 아무도 다른 3 일 이내에 선언적 해결책을 찾지 못하면 대답으로 표시 할 것이다. 고마워요! –