Interface Builder 不显示 IBActions

Interface Builder doesn't show IBActions

问题

我有一个 class (AppController),有两个插座和两个动作。
这两个插座由 Interface Builder 拾取并连接良好。
但是,这两个操作没有出现在 HUD window 中,当 ctrl+单击 Interface Builder 中的 AppController 对象时出现,也没有出现在 Library->Classes->AppController->Actions 中.

AppController.h

#import <Cocoa/Cocoa.h>


@interface AppController : NSObject {
    IBOutlet NSWindow *newDownloadSheet;
    IBOutlet NSBox *downloadsBox;
    NSString *sourceFileURL;
    NSString *destinationFileName;
    NSMutableArray *downloads;
}

- (IBAction)newDocument; // New Download - to respond to File->New, delegates to showNewDownloadSheet:
- (IBAction)showNewDownloadSheet (id)sender;

@end

在 .m 文件中定义了它们(尽管 AFAIK Interface Builder 甚至不查看 .m 文件)。此外,我的代码编译正常(没有警告)并且执行 'run',它不能执行任何操作,因为我无法连接 IBActions。

系统信息

Mac OS X 10.6 – 是的,我知道它很旧。我的电脑也是,所以升级不了
XCode3.2.6
界面生成器 3.2.6

为什么这不是重复的

我可以在 SO 上找到关于同一问题的另外两个问题,但 none 的答案对我有用。

  1. Why doesn't IB see my IBAction? 答案建议
    1. 手动重新加载相关 class 文件(文件->读取 Class 文件...)。试过了,没用。
    2. 添加...: (id)sender;。如您所见,我的一个动作有这个,一个没有,但都没有出现。
    3. 正确设置文件所有者。这与我的问题无关,因为我不尝试连接到文件的所有者对象,而是连接到一个单独添加的对象,其标识正确设置为 AppController。加上奥特莱斯 do 出现。
  2. IBAction doesn't show up in interface builder唯一答案同1.2

- (IBAction)showNewDownloadSheet (id)sender;
不正确,应该是
- (IBAction)showNewDownloadSheet: (id)sender;

注意缺少的“:”。