我对 iPhone 开发非常陌生。我经常遇到IBAction
, IBOutlet
阅读 Objective-C 和 Swift 代码时等等。什么是IB
代表?
“界面生成器”。
在 Xcode 4 之前,接口文件(XIB 和 NIB)是在名为 Interface Builder 的单独程序中编辑的,因此有了前缀。
IBAction
被定义为void
, and IBOutlet
什么都没有。它们只是 Interface Builder 解析文件以使它们可用于连接时的线索。
只需添加引用,在 AppKit/NSNIbDeclarations.h 中您将找到以下内容:
#ifndef IBOutlet
#define IBOutlet
#endif
#ifndef IBAction
#define IBAction void
#endif
所以,实际上,代码是这样的:
@interface ...
{
IBOutlet NSTextField *label;
}
- (IBAction)buttonPressed:(id)sender;
@end
将转化为:
@interface ...
{
NSTextField *label;
}
- (void)buttonPressed:(id)sender;
@end
由预处理器执行,甚至在编译器看到它之前。这些关键字只是 Interface Builder 的线索。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)