2017-03-14 7 views
0

私はアプリを開発しています。クライアントは、アプリケーションを設計することが可能かどうかを尋ねました。そのため、Webサービスのレスポンスだけを変更する必要があるため、アプリケーション内のフォームが動的に変更される可能性があります。私はPHPの変数変数に似た何かを考えています。私は動的に基づいてテーブルビューの設定を取得できるようにしたいと思い目的変数cで変数を動的に作成することはできますか?

[{ 
     "field_item_2": "abc", 
     "field_item_3": "123", 
     "field_item_4": "test answer", 
     "field_item_5": "", 
     "field_item_6": 100, 
     "field_item_7": 1, 
     "comments": "Comments go here.", 
     "users": "John Smith, Jane Doe, Tim Johnson", 

は現在、私はそれをWebサービスの値と一致するプロパティのセット数とのセットアップを持っているが、これは簡単に、理想的に拡張しません私はカスタムセルの未知の配列*を含むサイズはn行とのUITableViewを取り込むことができ与えられたビューコントローラのために、より簡潔にしようとするWebサービス応答

"complex_data_1": [{ 
     "cd1_format": "textfield", 
     "cd1_format_id": 12, 
     "cd1_question": "What is your favorite color", 
     "cd1_answer": "" 
    }], 
    "complex_data_2": [{ 
     "cd2_format": "textfield", 
     "cd2_format_id": 12, 
     "cd2_question": "What is your favorite car", 
     "cd3_answer": "" 
    }], 
    "complex_data3": [{ 
     "cd3_format": "datePicker", 
     "cd3_format_id": 10, 
     "cd3_question": "What is your birthdate", 
     "cd3_answer": "" 
    }] 
}] 

は - 変数を作成することが可能です/プロパティを使用して、そのUIのデータを正確に記録し、それをサーバーに保存/送信します。ここで、データソースの変数は、 e Webサービスの応答が返されますか?

*テーブルの行とUITableViewCellsの種類の数が返送されたWebサービス

答えて

2

のデータから、既に表示することができますはい、それは一種の避けられないです、ないだけで可能です。 JSONを辞書の配列に変換し、各辞書でカスタムセルにUIControlという文字列を記述します。その配列をテーブルのデータソースと考えてください。

ありUicontrolのを記述するためにを必要な1つの以上のオブジェクトだし、それはそれはだのです。辞書を変更可能にする(これはJSONを解析する際のオプション、 "mutableContainers")、追加のキーを辞書に追加して、それを@"value"と呼んでください。あなたが作る

カスタムセルを使用すると、動的に追加コントロールの代表者となり、彼らは彼らのコントロールの値の変化をすることを検出したとき、彼らは私がこのようなことのためのライブラリXLFormを愛するdictionary[@"value"]

0

を更新します。

フォームを動的に作成します。 XLForm rowType

へのWebサービスレスポンスのフィールドタイプ間に1-1のマッピングを作成できます
関連する問題