gpt4 book ai didi

iphone - IBAction、IBOutlet 等中的 IB 是什么意思?

转载 作者:行者123 更新时间:2023-12-03 18:14:37 25 4
gpt4 key购买 nike

我对 iPhone 开发非常陌生。我在阅读 Objective-C 和 Swift 代码时经常遇到 IBActionIBOutlet 等。 IB 代表什么?

最佳答案

“界面生成器”。

在 Xcode 4 之前,接口(interface)文件(XIB 和 NIB)是在名为 Interface Builder 的单独程序中编辑的,因此有了前缀。

IBAction 定义为 voidIBOutlet 定义为空。它们只是 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 的线索。

关于iphone - IBAction、IBOutlet 等中的 IB 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8592056/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com