私はドキュメント ベースのアプリケーションを持っています。ドキュメント ビューには NSSearchField があります。検索フィールドで、表示されるメニューを有効にし、アクションをメニュー項目に関連付けました。メニューの一つに「マッチケース」があります。このメニュー項目の隣にチェックを入れたり (そして外したり) できるようにしたいです。そうしようとすると、メニューにチェックが表示されません。
-(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 に設定されていることがわかります。
私が欠けているものに関する提案はありますか?