У меня возникли проблемы с привязкой «значения» NSMenuItem к BOOL.
Я упростил задачу до этого:
1) Пункт меню должен вызывать метод действия, который изменяет значение BOOL, в противном случае он не работает (т. е. если NSButton вызывает метод, который изменяет значение BOOL, тогда элемент меню выиграл не обновляюсь)
2) Даже если метод действия делает BOOL константой (т.е. enabled = YES
), «значение» пункта меню все равно меняется.
Любые идеи? Я весьма озадачен!
Вот код:
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
Menu_BindingsAppDelegate.m
@implementation Menu_BindingsAppDelegate
@synthesize foo;
- (IBAction)toggle:(id)sender
{
[self setFoo:!foo];
}
- (IBAction)makeYes:(id)sender
{
[self setFoo:YES];
}
@end
В моем пере у меня есть кнопка, связанная с действием -makeYes:, и пункт меню, связанный с действием -toggle:. Привязка «значение» пункта меню привязана к атрибуту «foo» делегата приложения.
Спасибо.