私はいくつかの obj-c を学んでいるので、小さなココア アプリケーションを構築しています。
MainMenu.xib から、上部の「メイン メニュー」にメニューを追加しました。クリックすると、ウィンドウのインスタンス (この場合はカテゴリを管理するためのウィンドウ) を開く IBAction がトリガーされます。
このカテゴリ ウィンドウには NSWindowController があり、次のようになります。
// CategoriesWindow.h
#import <Cocoa/Cocoa.h>
@interface CategoriesWindow : NSWindowController
-(IBAction)OpenCategoriesWindow:(id)sender;
@end
// CategoriesWindow.m
#import "CategoriesWindow.h"
@implementation CategoriesWindow
-(IBAction)OpenCategoriesWindow:(id)sender
{
CategoriesWindow *Categories = [[CategoriesWindow alloc] initWithWindowNibName:@"CategoriesWindow"];
[Categories showWindow:self];
}
@end
これには、いくつかのことを行う NSTableView を備えた CategoriesWindow.xib があるため、このテーブルのデータを処理する CategoryTableController.h と .m があります。ボタンを押すと、たくさんのことをしたいのですが、ウィンドウを閉じてください。つまり、CategoryTableController.m の IBAction からこのウィンドウを閉じたいのです。
どうすればいいですか?このセットアップの 1 つの悪い点 (どこかのチュートリアルから従ったものです...) は、メニュー ボタンをクリックすることで、このウィンドウの多くのインスタンスを開くことができることです。
どこから始めるべきかヒントやアイデアはありますか?