私は Objective-C/Cocoa の初心者です。私が書いている最初の Mac OS X デスクトップ アプリケーションに関するガイドラインを教えていただけないでしょうか。
モデルの部分は、自己組織化マップ アルゴリズム、SOM (Kohonen、1982) です。
インターフェイスの観点からは、1024x768 の親ビューと 192 個の 64x64 の正方形 (子ビュー) を含むメイン ウィンドウを用意するという考え方です。SOM アルゴリズムが実行されると、子ビューの色が変わります。SOM が構築された後、ユーザーは特定の正方形をクリックすることで、その正方形にマッピングされたサウンドを聞くことができます。
SOM アルゴリズムは既に実装されていますが、インターフェイスを作成してモデル パーツに接続するのに苦労しています。
以下のコードを使用してウィンドウを作成することを考えました。
NSRect windowRect = NSMakeRect(0.0f, 0.0f, 1024.0f, 790.0f);
NSWindow *window = [[NSWindow alloc] initWithContentRect:windowRect
styleMask:( NSResizableWindowMask | NSClosableWindowMask | NSTitledWindowMask)
backing:NSBackingStoreBuffered defer:NO];
[window setBackgroundColor:[NSColor blueColor]];
[window makeKeyAndOrderFront:nil];
次に、ウィンドウのコンテンツ ビューのサブビューとしてメイン ビューを追加するメインを作成します。
NSView *view = [[NSView alloc] init];
[window setContentView: view]
最後に、子ビューを作成し、親ビューのサブビューとして追加します。
for(int i=0;i<12;i++)
{
for(int j=0;j<16;j++)
{
NSView *child = [[NSView alloc]initWithFrame:CGRectMake(64*i,64*j,64, 64)];
[view addSubview:child];
}
}
私の質問は次のとおりです。
1) 私の考えは理にかなっていますか?
2) これらのコードはどこに行くべきですか? AppDelegate または ViewController のどこに含めるべきか、まだ疑問がありますか?
3) インターフェイスをロードするメイン メソッドに何を追加する必要がありますか? 現時点では、メイン メソッドはオーディオ処理と SOM アルゴリズムを参照するメソッドのみを呼び出します。ここでの一般的な質問は、モデル パーツとビュー パーツをどのように接続するかということだと思います。
素朴な質問で申し訳ありませんが、私が前進するのに役立つアイデアを事前に感謝します.
ありがとうございました。