gpt4 book ai didi

cocoa - XIB 文件中的对象是如何定义的以及它们在运行时是如何创建的?

转载 作者:行者123 更新时间:2023-12-03 16:19:12 26 4
gpt4 key购买 nike

我刚刚购买了一台 Mac,并开始探索使用 Cocoa 和 Objective-C 进行软件开发,在 Snow Leaped 中使用 XCode,我拥有强大的 Microsoft 和 C# 背景

我读过的所有文档和教程都使用 Interface Builder 和 XCode 来创建具有用户界面的应用程序。我目前的理解是,Interface Builder 创建的对象以某种方式在 .xib 文件中定义并在运行时创建。

bundle 包含附带的代码和资源。是否可以说 .xib 文件实际上是一个包含 UI 资源的包,并且该包在运行时加载(这是正确的动词吗?)并创建对象实例?

如果 abive 为真,有什么方法可以让我看到 Interface Builder 生成的代码以及创建这些对象的代码点,而至少一次我感觉发生了很多“魔法”而没有看到这一点这对我现阶段的学习没有帮助。

有什么我应该阅读的内容来掌握 C#/WinForms 和 Objective-C/Mac OS/Cocoa 之间明显的范式转变吗?

最佳答案

Is it right to say that an .xib file is in fact a bundle that contains UI resources and that this bundle is loaded (is that the correct verb?) at runtime and object instances are created?

没有。 A bundleseveral specific directory structures 之一,xib 文件是常规文件,而不是目录。

xib 文件包含对象的描述。当您编译 nib 时(通常作为构建应用程序的一部分),nib 编译器会读取 xib,创建其中描述的对象,并将它们归档到 nib 中,而 nib 也不是 bundle 。

当您在应用程序中加载 nib 时,nib 加载程序会取消归档对象,并确保所有导出都像 IB 中的对象之间以及与文件所有者之间的连接一样进行连接。

不必担心实现细节。尼布斯只是工作。您所要做的就是:

  1. 创建 xib 文件。如果您使用版本控制,这些就是您告诉它要跟踪的内容。
  2. 确保它们位于 .lproj 文件夹中(以便本地化人员可以创建它们的本地化版本)。
  3. 让 Xcode 处理剩下的事情。

关于cocoa - XIB 文件中的对象是如何定义的以及它们在运行时是如何创建的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1453807/

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