itemClicked 事件选择器 objective c

itemClicked event selector objective c

我对 ObjC 非常陌生,正在尝试构建我的第一个应用程序。但是我似乎遇到了障碍。我正在构建一个菜单栏应用程序,我想在单击该项目时创建一个警报,表示单击已确认。

这是我在 .h 文件中写的内容,但我收到一个错误,要求我在 (id)sender 之后用 ; 结束语句。

- (void)itemClicked:(id)sender {
    NSAlert * alert = [NSAlert alertWithMessageText:@"Toggle Acknowledge"
                                      defaultButton:@"Gotcha!"
                                    alternateButton:nil
                                        otherButton:nil
                          informativeTextWithFormat:@"NSStatusItem was clicked"]
    [alert runModal] }

不知道在这里做什么!任何帮助都会很棒,谢谢。

按照错误提示去做,在Objective-C中所有行必须以分号结尾

- (void)itemClicked:(id)sender {
    NSAlert * alert = [NSAlert alertWithMessageText:@"Toggle Acknowledge"
                                      defaultButton:@"Gotcha!"
                                    alternateButton:nil
                                        otherButton:nil
                          informativeTextWithFormat:@"NSStatusItem was clicked", nil];
    [alert runModal];
}

我添加了一个 nil 语句作为格式参数以避免警告。

编辑:

在 Yosemite(及更高版本)中,建议使用此

- (void)itemClicked:(id)sender {
    NSAlert * alert = [[NSAlert alloc] init];
    alert.messageText = @"Toggle Acknowledge";
    alert.informativeText = @"NSStatusItem was clicked";
    [alert addButtonWithTitle:@"Gotcha!"];
    [alert runModal];
}
- (void)itemClicked:(id)sender
{
     NSAlert * alert = [NSAlert alertWithMessageText:
                                      defaultButton:@"Gotcha!"
                                    alternateButton:nil
                                        otherButton:nil
                          informativeTextWithFormat:@"NSStatusItem was clicked", nil];
    [alert beginSheetModalForWindow:window modalDelegate:self didEndSelector:@selector(alertDidEnd:returnCode:contextInfo:) contextInfo:nil];
}

只要使用并检查然后给我反馈