NSMenuItem의 "값"바인딩을 BOOL에 바인딩하는 데 문제가 있습니다. NSMenuItem의 값 바인딩이 BOOL과
나는 이것에 문제를 단순화 :1) 이 그렇지 않으면 (작동하지 않습니다 BOOL의 값을 변경하는 액션 메소드를 호출해야하는 메뉴 항목을 즉 NSButton을 변경하는 방법을 호출하는 경우
2) 조치 방법으로 BOOL을 일정하게해도 (즉, enabled = YES
) 메뉴 항목의 "값"이 계속 변경됩니다.
아이디어가 있으십니까? 난 너무 혼란 스러워요! 여기
코드입니다 : 내 펜촉에서@implementation Menu_BindingsAppDelegate
@synthesize foo;
- (IBAction)toggle:(id)sender
{
[self setFoo:!foo];
}
- (IBAction)makeYes:(id)sender
{
[self setFoo:YES];
}
@end
Menu_BindingsAppDelegate.m
MenuBindings_AppDelegate.h
#import <Cocoa/Cocoa.h>
@interface Menu_BindingsAppDelegate : NSObject <NSApplicationDelegate>
{
BOOL foo;
}
- (IBAction)toggle:(id)sender;
- (IBAction)makeYes:(id)sender;
@property BOOL foo;
@end
, I는 버튼을 -makeYes에 연결 한 : action과 -toggle : action에 연결된 메뉴 항목. 메뉴 항목의 "값"바인딩은 앱 대리인의 "foo"속성에 바인딩됩니다.
감사합니다.
제안 해 주셔서 감사합니다. willChangeValueForKey :/didChangeValueForKey :를 사용하고 @ property/@ behavior를 사용하여 동작을 시도했지만 이상한 결과를 얻고 있습니다 ... – chrisgoyal
코드를 게시 할 수 있습니까? KVC 호환 접근자를 구현하는 경우 will/didChangeValueForKey :를 사용할 필요가 없습니다. –
감사합니다. 코드로 업데이트되었습니다. – chrisgoyal