「詳解 Objective-C 2.0」(荻原剛志著、ソフトバンククリエティブ)に掲載のサンプルプログラムのうち、Snow Leopardで動作しないものに関する修正情報を掲載します。
画像ビューア MyViewer で、メニューが正しく表示されず、動作させることができないという現象が発生します。 これは Snow Leopardになって、アプリケーションのメニューの表示方法が若干変更されたことによるものです。
対応方法: ファイル MyViewerCtrl.m の 41-42行をコメントアウトして、setMenuName: を呼び出さないようにして下さい。
31 @implementation MyViewerCtrl
32
33 /* Local Method */
34 - (NSMenu *)newMenuWithTitle:(NSString *)title
35 name:(NSString *)name items:(itemdata *)itemdata
36 {
37 NSMenu *menu;
38 int i;
39
40 menu = [[NSMenu alloc] initWithTitle: NSLocalizedString(title, "")];
* 41 // if (name)
* 42 // [menu setMenuName:name];
43 for (i = 0; itemdata[i].title != nil; i++) {
44 if (itemdata[i].kind == menu_bar)
45 [menu addItem:[NSMenuItem separatorItem]];
46 else {