cuốn sách gpt4 ai đã làm

objective-c - 我可以将非 xib 应用程序转换为使用 xibs 吗?

In lại Tác giả: Walker 123 更新时间:2023-11-29 05:06:50 25 4
mua khóa gpt4 Nike

我有一个正在运行的应用程序,其中包含一个导航 Controller 、两个 View Controller 、两个 View 、一个模型对象,并且没有 xib 文件。 View 是以编程方式创建的。现在我想使用 IB 和 xib 文件构建相同的应用程序。有谁知道解释如何添加 xib 文件并删除它们替换的程序语句的文章?如果没有,那么有什么东西可以讨论 xib 库元素和程序语句之间的等价性?

我为什么要这样做?因为我试图了解 xib 文件的作用以及它们如何与程序语句交互,并且我认为这将是一个很好的学习练习。我尝试了一下,但无法编译。事实上,每次我使用 xib 文件时,除了下面的教科书示例之外,我都会无可救药地陷入无法编译或编译后不起作用的代码中。所以我一定有一些基本的误解。我需要弄清楚 xib 文件在幕后做了什么。它们看起来可能非常强大,但如果我不明白它们在做什么,我就不会使用它们。

我在堆栈溢出的其他地方读到它们是编译 View (或类似的东西)的序列化版本。我从概念上理解这一点。我非常熟悉 Python 的 pickle 文件。但这在实践中并不能解释太多。

câu trả lời hay nhất

nib/xib 包含创建对象并将对象连接在一起所需的信息。基本上,它包含它所包含的对象的实例变量和类信息。要加载一个,您可以使用 UINib 类(Mac OS X 中的 NSNib)或 NSBundle loadNib... 方法。 NSBundle 的方法更容易使用,我建议使用它们,除非您会多次加载 Nib 。对于 iOS,您通常会使用 [[NSBundle mainBundle] loadNibNamed:@"NibNameWithoutExtension"owner:self options:nil];。所有者不必是自己。它是 IB 中“文件所有者”对象表示的对象,并将接收与该对象建立的任何连接。 options 参数可用于获取 nib 中的顶级对象,但您通常使用 Outlet。加载 nib 时,会分配并实例化其中的对象(使用 initWithCoder:),并使用 setter 方法或直接设置实例变量来创建连接。

关于objective-c - 我可以将非 xib 应用程序转换为使用 xibs 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4709217/

25 4 0
Walker 123
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress