我有一个基于文档的应用程序,并且在文档视图中,我有一个 NSSearchField。在搜索字段中,我启用了要显示的菜单,并且我已将操作与菜单项相关联。其中一个菜单项称为“Match Case”。我希望能够在这个菜单项旁边放置(和删除)一个检查。当我尝试这样做时,菜单不显示检查。
-(IBAction)searchMenuMatchCase:(id)sender {
NSMenuItem *smi = [searchMenu itemWithTitle:@"Match Case"];
if (searchCaseSensitive) {
searchCaseSensitive = false;
[[searchMenu itemWithTitle:@"Match Case"] setState:NSOffState];
} else {
searchCaseSensitive = true;
[[searchMenu itemWithTitle:@"Match Case"] setState:NSOnState];
}
[searchMenu update];
NSLog(@"SM State %ld",[smi state]);
}
代码被执行,我收到一条日志消息,显示状态从 0 到 1 再到 0 到 1。但是菜单项旁边从来没有检查。当我在调试时查看菜单项对象时,我确实看到在切换它之前将“状态”值设置为 0 和 1。
关于我缺少什么的任何建议?