AppDelegate.hで次のように定義されたステータスバーアプリのNSMenuがあります。
IBOutlet NSMenu *spotMenu;
@property (nonatomic, retain) IBOutlet NSMenu *spotMenu;
そして、AppDelegate.mでは次のようになります。
[spotApp setMenu: spotMenu];
- (NSMenu *) spotMenu
{
return spotMenu;
}
私はこのような別のクラスからアクセスしようとしています:
AnotherClass.h
@class AppDelegate;
AppDelegate *appD;
AnotherClass.m
#import "AppDelegate.h"
NSLog(@"%@", [appD spotMenu]);
nullを返します。
2012-09-23 10:23:37.543 Spot[581:303] (null)
次のようにAppDelegateクラス内から同じことを行うと:
NSLog(@"%@", spotMenu);
正しいコンテンツを返します。
2012-09-23 10:56:05.460 Spot[679:303] <NSMenu: 0x100618030>
Title:
Supermenu: 0x0 (None), autoenable: YES
Items: (
"<NSMenuItem: 0x100618170 About Spot>",
"<NSMenuItem: 0x10011b9b0 Preferences>",
"<NSMenuItem: 0x1001b9390 >",
"<NSMenuItem: 0x1001bbe70 >",
"<NSMenuItem: 0x1001b99a0 Quit Spot>"
)
AppDelagateクラスと同じ出力を別のクラスから取得する方法はありますか?
ありがとうございました。