繁体   English   中英

编写混合iPhone应用程序的最佳方法是什么?

[英]What is the best way to write a hybrid iPhone app?

我正在开发一个iPhone应用程序,它将从服务器访问XML文件(或类似内容)。 我想将这些数据转换为iPhone上的漂亮本机UI。 以我目前的知识,我已经可以通过加载文件,解析它们,编写自定义代码来填充数据结构并将数据转换为用户界面元素来做到这一点。 但是,由于我知道这是iPhone开发中的常见问题,因此我倾向于认为有一种更简单的方法可以抽象出某些过程。

在不重新发明轮子的情况下编写混合应用程序的最佳和最合适的方法是什么?

有一些现成的抽象,但是其中大多数集中在XMLRPC上,这往往有些笨拙。

最好的选择是编写一个NSXMLParserDelegate ,这很简单。 然后只需使用-initWithContentsOfURL:创建您的解析器。 使用这种方法,加载XML文件并解析它们成为一个步骤。 然后您就可以创建数据结构。 到UI元素的转换是通过通常的抽象机制(数据源和委托)进行的。

这使您摆脱了外部强加的XML模式的约束,但可以断定您的XML文件相对较轻,或者可能存在(大量)接口滞后。 明智的做法是将XML加载到单独的线程上,然后在有更多数据可用时( 不太经常)重新加载接口(尤其是如果每个文件都包含多个KiB时)。

编辑:一些注意事项:总的来说,如果您要做的事情甚至很复杂,都希望避免使用UIWebView。 它不像本机控件那样快,结果应用程序的外观通常也差一点。

另外,在我看来,您想要的是或多或少是XML-file => UITableView类型的应用程序,或者至少是概念上相似的东西。 真的很容易构建; 最棘手的部分是找出一种XML格式,其中包含您想要的信息而不会without肿。 实际上,我建议您从这里开始。 只是一个XML使用者和一个导航控制器; 以它为起点,应该让您检查结构是否合理,文件是否太大。 使用UIWebView带来了另一个问题:

您无法控制缓存,尤其是当您使用JS处理或获取文件时。 对于大多数Web浏览而言,这很好,WebKit 通常会做正确的事情,尤其是在面对合理的Web服务器配置时(不是实际的配置,而是实际的配置结果:合理的标头)。

当您使用定制的解析器和缓存系统时,您将获得更大程度的控制,并且可以使用许多技巧来确保下载的文件绝不超出严格意义上的需求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM