在iOS上反编译或解释XIB / NIB文件

时间:2014-06-16 21:19:12

标签: ios objective-c xib nib

我已经调查了很多对NIB / XIB格式的理解,我似乎无法找到有关该主题的更多信息。我有兴趣了解iOS如何将事件编码到按钮按下等。例如,我知道他们调用的按钮和处理程序可以动态分配,但我特别感兴趣的是知道如何解码NIB / XIB,以便我可以知道为给定按钮调用哪个click事件。我很有兴趣了解IBOutlets如何连接以及我如何知道某个事件可以访问哪些功能。

我正在开发一个自动测试框架,这个功能将极大地帮助我的工具的可用性。非常感谢您提供的任何见解。

1 个答案:

答案 0 :(得分:0)

如果在文本编辑器中打开.xib文件,您将看到它是用XML编码的。排列XML节点描述了视图层次结构的结构,以及要分配给给定键路径的值或这些视图的控制状态。您可以看到如此描述的IBAction连接:

<connections>
    <action selector="buttonPressed:" destination="-1" eventType="touchUpInside" id="290"/>
</connections>

任何操作连接的选择器都应由File的所有者实现,您可以找到它作为<objects>部分下的第一个元素。它看起来像这样:

<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="SomeViewController">

同样重要的是要注意<resources>部分,它描述了xib使用的任何资源(通常是图像)。