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