我希望能够下载(通过 NSURLConnection 请求).XIB 文件,并将其呈现在视图中。我已经实现了 NSURLConnection,当然,当连接完成时,我留下了一个代表 XIB 文件的 XML 数据的 NSString。示例:(只是许多行中的前几行)
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">800</int>
<string key="IBDocument.SystemVersion">10D573</string>
<string key="IBDocument.InterfaceBuilderVersion">762</string>
<string key="IBDocument.AppKitVersion">1038.29</string>
<string key="IBDocument.HIToolboxVersion">460.00</string>
ET CETERA...
我查看了文档,我相信我不能使用“initWithNibName:”,因为它是从网络上检索的。我认为我需要做的是将 .XIB 保存到应用程序的文档目录,然后使用“loadNibFile:externalNameTable:withZone:”
本质上我想做的是拥有一个 iPad 应用程序,并且有一个 320x480 的小窗口,可以在其中显示从网络加载的 .XIB。如果我可以将它本地附加到 ViewController 就更好了,但并非完全必要。
我只是不太确定应该如何使用“loadNibFile:externalNameTable:withZone:”任何人都可以给我一些建议或例子吗?
提前致谢!
loadNibFile:externalNameTable:withZone: 是一个 AppKit 方法,因此它仅适用于 Mac OS,不适用于 iPhone 或 iPad。
在 SDK 3.2 中,您可以使用 -[UIViewController initWithNibName:bundle:] 或 -[NSBundle loadNibNamed:owner:options:],具体取决于您是否希望文件的所有者成为 UIViewController。虽然您无法下载 .xib 并将其安装到主捆绑包的资源中,但您可以下载一个捆绑包,将其保存到您的 Documents 目录中,将其传递给 +[NSBundle bundleWithPath:],然后提取使用 initWithNibName:bundle: 或 loadNibNamed:owner:options 从中获取 .xib。
我还没有尝试过这个,但似乎应该有效。我很想知道是否如此。
我也很想知道苹果是否接受这个应用程序。看来这将考验 iPhone SDK 协议的第 3.2.2 节。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)