我知道.xib文件实际上是.xml文件(主要体现在我可以重命名它们的扩展名并在文本编辑和dashcode中打开它们),所以理论上讲,可以将xib作为xml打开并在应用程序中解析它。我查看了我的示例应用程序的Build,发现xib不是编译的,而是复制包资源。听起来不错,对吧?但是,当我尝试使用以下方法获取它们的文本时,这些文件会给我(null)字符串:
NSString *string = [[NSBundle mainBundle]pathForResource:@"Empty" ofType:@"xib"];
NSString *xmlString = [[NSString stringWithContentsOfFile:string encoding:NSUTF8StringEncoding error:nil] retain];
NSLog(@"%@", xmlString);
[textView setText:xmlString];
对于xmlString
和string
,它都是(null)。因此,我想用另一个副本绑定资源来尝试它,所以我将string
改为:
NSString *string = [[NSBundle mainBundle]pathForResource:@"InfoPlist" ofType:@"strings"];
它记录了一个完美的文件路径!但是,xmlString仍然记录(null)。
然后,我试着得到一个错误代码,我得到了以下信息:
The operation couldn’t be completed. (Cocoa error 258.)
这让我觉得在.xib文件的幕后进行了一些额外的编译(我在某个地方读到它们被编译器变成了nib),这使得它们无法读取或无法访问。但是,我知道有一些应用程序(接口是一个主要的例子)可以读写.xib文件。
那么,有人能帮我获取.xib文件的xml吗?
发布于 2012-02-19 17:23:12
https://stackoverflow.com/questions/9355052
复制