【发布时间】:2012-03-10 10:26:13
【问题描述】:
我知道 .xib 文件实际上是 .xml 文件(这主要是因为我可以重命名它们的扩展名并在文本编辑和破折号中打开它们),所以理论上,可以将 xib 打开为 xml 和在应用程序中解析它。我查看了示例应用程序的构建设置,发现 xib 没有编译,而是复制捆绑资源。听起来不错,对吧?但是当我尝试使用这些方法获取它们的文本时,这些文件给了我(空)字符串:
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 的 NSLog(空)。所以我想用另一个 Copy Bundle Resource 试试,所以我把 string 改成了这个:
NSString *string = [[NSBundle mainBundle]pathForResource:@"InfoPlist" ofType:@"strings"];
它记录了一个完美的文件路径!但是,xmlString 仍然记录(空)。
然后,我尝试获取错误代码,结果如下:
The operation couldn’t be completed. (Cocoa error 258.)
这让我觉得在幕后使用 .xib 文件进行了一些额外的编译(我在某处读到它们被编译器转换为 nib),这使得它们无法读取或无法访问。但据我所知,有一些应用程序(Interface 是一个很好的例子)可以读取和写入 .xib 文件。
那么,谁能帮我获取 .xib 文件的 xml 文件?
【问题讨论】:
-
您确定 Interface 读取和/或导出 xib 文件吗?
-
这是他们网站上吹捧的功能。
-
好吧,我真的不应该问这个问题 :) 即使他们这样做了,他们也会操纵 xml 的 xib 文件。
-
你知道吗,我才意识到没有xib导入功能!他们正在处理纯 XML,然后将其包含在 .xib 文件格式中。谢谢,谢谢。
标签: objective-c ios xml nsstring xib