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

2024-02-02

我对 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(使用前将#替换为@)

IBAction、IBOutlet 等中的 IB 是什么意思? 的相关文章

  • 如何让 Xcode 8 C 预处理器忽略 #defines 中的 // 注释

    C 预处理器 cpp 似乎应该正确处理此代码 define A 1 hello there int foo A 我希望更换A with 1 发生的事情是这样的A被替换为1 hello there 这会产生以下输出cpp std c99 te
  • 自定义 UITableViewCell 不显示故事板中的标签

    在此屏幕截图中 您可以看到我已在 UIViewController 中添加了 UITableView 然后通过在其中添加一些标签来自定义 UITableViewCell 但问题是当我运行应用程序时 所有单元格都是空的 根本没有标签 我不明白
  • 如果您的 UIScrollView 已经处于该缩放级别,zoomToRect 不会执行任何操作

    我想我在 UIScrollView 中发现了一个错误 但我想检查其他人是否观察到同样的事情以及它是否是预期的行为 我有一个 UIScrollView 并尝试使用 ZoomToRect 设置它正在查看的内容 效果很好 如果我然后拖动视图 使其
  • IOS:关闭两个viewController

    我有三个viewController 第一 第二和第三 从第二个到打开第三个我用 Third third Third alloc initWithNibName Third bundle nil self presentModalViewC
  • 核心数据可转换属性不适用于 NSPredicate

    我经常使用Transformable for Core Data attributes 以便我稍后可以更改它们 但是 似乎如果我想使用NSPredicate找到一个NSManagedObject using uniqueKey or uni
  • 使用 iPhone 上传视频

    可以将视频上传到服务器吗 我知道图像是可能的 如果有人能指出我正确的方向 那就太好了 Thanks 2015 年 8 月编辑 这个答案现在已经严重过时了 在撰写本文时 选项并不多 而且视频的大小也相对较小 如果您现在正在考虑这样做 我会使用
  • iphone MPMoviePlayerViewController CGContext 错误

    我正在为 iPhone 编写一个应用程序 可以使用它来播放一些电影MPMoviePlayerViewController 到目前为止 我已经让它可以播放电影了 但是它在调试器中抛出了一些错误 这些错误都以CGContext 我绞尽脑汁试图修
  • 以编程方式从 iPhone 向 WordPress 博客发表评论

    我在本地主机服务器上安装了 WordPress 博客 还制作了一个 iPhone 应用程序来通过 rss 浏览博客 我尝试使用此代码以编程方式发布评论 define post url http localhost web wp wp com
  • 核心动画的鱼眼效果?

    我正在尝试实现类似于 ABC News iPad 应用程序的地球仪的效果 是不是可以通过改造CALayers来得到这个效果呢 或者这是使用 OpenGL 和片段 顶点着色器 CALayer 提供对变换矩阵的访问 是否有一些数学可以应用于此而
  • iPhone开发中如何制作画线动画?

    我一直在四处寻找 但对于这个简单的问题似乎没有好的答案 所以我再次问 如何在 iphone dev 中制作线条画动画 基本上我想要的是这样的 implementation MyUIView void triggerLineDrawing C
  • Objective C iPhone 何时将对象引用设置为 nil

    我使用 Objective C 和 Cocoa 框架进行开发已经有一段时间了 然而 我仍然不太清楚 我什么时候应该将对象引用设置为 nil 我知道建议在释放具有委托的对象之前执行此操作 并且您还应该在保留子视图的 viewDidUnload
  • 如何从 iPhone 应用程序中的 URL 读取 .rtf 文件

    我的应用程序需要从 URL 读取 rtf 文件 我将把它读为 NSURL url NSURL URLWithString NSString stringWithFormat rtf URL NSError error NSString co
  • iOS:如何将视图从登录切换到主要内容 SwiftUi

    首先 我对 iOS 开发和 Swift 非常陌生 从 PHP 来到这里已经两周了 我正在构建一个简单的应用程序 当用户登录 已确认 时 视图切换到主要内容 所以目前我有一个 LoginView 这是首先加载的 我想知道当我单击 LoginV
  • 将环境变量从 fastlane 传递到 Xcode 构建阶段脚本

    是否可以 如果可以 如何 将环境变量从运行 fastlane 的脚本传递到 Xcode 运行脚本阶段 我的最终目标是在运行脚本阶段读取当前的 git 分支名称 我们的 CI 由 Team Foundation Server 运行 它执行以下
  • 如何在第二个 ViewCcontroller 中使用第一个 ViewController 的解析元素?

    在我的应用程序中我发送一个GET到我的服务器并收到一些响应 我有来自主视图控制器类的 TavleView 和 TableViewController 类 我在主 ViewController 中进行解析 我想用从第一个 ViewContro
  • 将 UIActivityIndi​​catorView 添加到 UIBarButton

    如何将 UIActivityIndi catorView 微调器圆添加到 UIBarButton 中 以便当用户点击导航栏上的这些按钮之一时 他们会在加载时看到一个微调器 如果您尝试在导航栏按钮中显示活动轮 例如 您的导航栏上可能有一个刷新
  • iPhone - 动画视图控制器演示

    我有一个 UINavigationControl 我想呈现一个视图控制器 将其从顶部推送 并将其从视图中删除 将其推送到顶部 有没有办法更改调用时使用的默认动画 self navigationController pushViewContr
  • 无法在 mac 屏幕保护程序发布版本上加载图像(它适用于 Xcode 调试版本)

    我从这里得到了这个 mac 屏幕保护程序示例here https github com elpsk PaskySaver 我将其更改为显示图像而不是文本字段 问题是这样的 它可以显示任何 Xcode 对象 例如 textView textF
  • 从 Xcode 中的 OSX 模拟器删除应用程序

    如何像在 iOS 模拟器上一样从 OSX 模拟器中删除应用程序 由于核心数据 xcdatamodeld 的更改 我想删除一个应用程序 但我找不到方法 提前致谢 对于 macOS Monterey 和 Big Sur 该位置链接到设备文件夹位
  • 外围 BLE 设备的唯一标识符

    所以我有外围设备BLE设备 我需要一些标识符以便稍后与另一部 iPhone 共享 我连接的示例iPhone A 为外围设备 iPhone A 将外围设备的标识符保存到数据库中 稍后我可以轻松获取iPhone B 并连接到通过该标识符找到的外

随机推荐