使菜单项显示窗口

Jos*_*hua 1 cocoa objective-c

我已经做了一些代码来做到这一点,但因为它不起作用.我只是一个初学者,所以我可能完全错了,或者我可能错过了一些东西.无论哪种方式,请告诉我.这是我得到的代码.

[item setAction:(SEL)action {
        [window makeKeyAndOrderFront:NSApp];
    }
Run Code Online (Sandbox Code Playgroud)

Ric*_*ano 5

看起来你正试图创建一个匿名函数.AFAIK,Obj-C不支持这些.基本上想要你想做的是定义action为一个合适的方法:

[item setAction:@selector(action:)];
Run Code Online (Sandbox Code Playgroud)

...

-(void)action:(id)sender{  
    [window makeKeyAndOrderFront:self];  
}
Run Code Online (Sandbox Code Playgroud)

另外,我不知道为什么你传递NSAppmakeKeyAndOrderFront:.完整的签名是- (void)makeKeyAndOrderFront:(id)sender,所以通过self通常是最合适的(虽然我甚至不确定输入是什么!).

我建议你通过一些教程来熟悉Obj-C和Cocoa.