首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取.xib文件的XML文本

获取.xib文件的XML文本
EN

Stack Overflow用户
提问于 2012-02-20 01:14:20
回答 1查看 1.9K关注 0票数 0

我知道.xib文件实际上是.xml文件(主要体现在我可以重命名它们的扩展名并在文本编辑和dashcode中打开它们),所以理论上讲,可以将xib作为xml打开并在应用程序中解析它。我查看了我的示例应用程序的Build,发现xib不是编译的,而是复制包资源。听起来不错,对吧?但是,当我尝试使用以下方法获取它们的文本时,这些文件会给我(null)字符串:

代码语言:javascript
运行
复制
 NSString *string = [[NSBundle mainBundle]pathForResource:@"Empty" ofType:@"xib"];
    NSString *xmlString = [[NSString stringWithContentsOfFile:string encoding:NSUTF8StringEncoding error:nil] retain];
    NSLog(@"%@", xmlString);
    [textView setText:xmlString];

对于xmlStringstring,它都是(null)。因此,我想用另一个副本绑定资源来尝试它,所以我将string改为:

代码语言:javascript
运行
复制
NSString *string = [[NSBundle mainBundle]pathForResource:@"InfoPlist" ofType:@"strings"];

它记录了一个完美的文件路径!但是,xmlString仍然记录(null)。

然后,我试着得到一个错误代码,我得到了以下信息:

代码语言:javascript
运行
复制
The operation couldn’t be completed. (Cocoa error 258.)

这让我觉得在.xib文件的幕后进行了一些额外的编译(我在某个地方读到它们被编译器变成了nib),这使得它们无法读取或无法访问。但是,我知道有一些应用程序(接口是一个主要的例子)可以读写.xib文件。

那么,有人能帮我获取.xib文件的xml吗?

EN

回答 1

Stack Overflow用户

发布于 2012-02-20 01:23:12

实际上,xib文件被编译成nib文件。在编译的.app上使用,您将看到没有xib文件,而是nib文件。

编辑看起来nib文件格式是一种专有格式。但我不确定。

形成苹果文档

原始格式使用扩展名为.nib的文件。这是一种专用的二进制格式,用于表示Interface用户界面对象和连接。

编辑2看起来有一些选项来阻止xib代码将xib文件编译成nib文件。但我仍然不知道如何做到这一点,以及实际的结果是什么。

编辑3我在Xcode上尝试过这一点。当我将Xib文件转换为No时,二进制文件中仍然有nib文件,但这次没有压缩。在这些nib文件中,有一个具有xml格式的文件designtime.nib。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9355052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档