【发布时间】:2014-04-27 07:47:20
【问题描述】:
我开始对 iOS 中的 NIB/Storyboards 机制的低级细节感兴趣。我想更多地了解他们的实施 - 我有兴趣开发自己的机制。我在 Apple 网站上找到了一些关于 NIB files 的信息。
他们说:a nib file describes these objects exactly as they were configured in Xcode. At runtime, these descriptions are used to recreate the objects and their configuration inside your application.。好的。但我找不到任何关于情节提要如何实现的信息。故事板是否只是一堆(包)NIB 文件 - 每个 UIViewController 一个?或者它使用不同的机制?
那么XML 的 NIB/Storyboard 来源呢?是否有一些从 XML 到 Objective-C 源代码的底层翻译器?低级细节将不胜感激。
【问题讨论】:
-
iOS 应用从不使用 XML,它消耗太多磁盘空间(闪存很昂贵)并且解析速度很慢(尤其是在 ARM 处理器上)。 xib 文件只是源代码,它们总是在构建应用程序时转换为二进制文件。 Mac 应用程序也是如此,尽管它们确实在其他地方使用 XML,因为磁盘空间/性能不是那么重要。这些天我不知道二进制格式是什么。从历史上看,它是 NSCoding。过去 XML 不用于 nib 文件,这会导致源代码控制系统出现问题。 XIB 更容易(尤其是在 Xcode 5 中)管理合并冲突
标签: ios objective-c ios7 storyboard nib