我该如何在iOS中动态创建表单?

时间:2012-08-15 12:11:00

标签: iphone ios xml

我正在创建一个iPhone应用程序,我需要能够动态创建一个用户可以输入数据的“表单”。例如,假设我正在制作Dominoes Pizza应用程序,您可以通过应用内“表单”订购披萨。这个表格有不同的章节标题(披萨,意大利面,沙拉等)不同的“单选按钮”选项(肉披萨,奶酪披萨等)和一些条件选项(例如,你可能只看到披萨的选项如果您选择了披萨复选框,则浇头)。我的应用程序将与此类似,其中包含许多复选框,单选按钮,下拉菜单等等。

我的问题是存储用于动态创建此类表单的信息的最佳方法是什么?我的要求是它很容易改变(比如奶酪披萨现在多花2美元)而且应该可以由编程经验有限的人改变。

我的第一直觉是使用这样的XML:

<Item>Pizza</Item>
    <Type>Dropdown List</Type>
    <Cost> $5.0 </Cost>
    <Option> Cheese Pizza </Option>
    <Option> Pepperoni Pizza </Option>
    <Option> Meat Pizza </Option>
<Item>Salad</Item>
    <Type>Radio Buttons</Type>
    <Cost> $2.0 </Cost>
    <Option> Yummy Salad </Option>
    <Option> Icky Salad </Option>

在我的应用程序中有这个文件,然后我就可以解析这个,每当我看到“单选按钮”类型时,创建一个单选按钮,每当我看到“下拉列表”时创建一个下拉列表。唯一的问题是,如果使用已经选择了比萨饼,可能会很难制作条件选项,例如只显示沙拉项目。

这是否适用于此案例? XML?请注意,我不希望它严格地成为Web应用程序,因为我希望能够使用Objective-C对象,例如“UISegmentedControl”。

1 个答案:

答案 0 :(得分:2)

是的,XML绝对是一个不错的选择。您还应该考虑使用JSON。生成有关Web服务的信息,使用JSON对其进行编码,在应用程序中下载JSON字符串,然后解析并保存字符串。

在应用中获得数据后,我会使用UITableView动态创建表单。 UITableView的数据源是NSArray,很容易从XML或JSON解析中获取。