2012-08-15 6 views
1

저는 iPhone 앱을 만들고 있는데, 사용자가 데이터를 입력 할 수있는 "양식"을 동적으로 생성 할 수있는 기능이 필요합니다. 예를 들어, 도미노 피자 앱을 제작하여 인앱 "양식"을 통해 피자를 주문할 수 있다고 가정합니다. 이 양식에는 옵션 (고기 피자, 치즈 피자 ... 등) 및 일부 조건 옵션과 같은 다른 섹션 제목 (피자, 파스타, 샐러드 ... 등) "라디오 버튼"이 있습니다 (예 : 피자 옵션 만 볼 수 있습니다 피자 체크 박스를 선택한 경우 토핑). 내 응용 프로그램은 많은 체크 박스, 라디오 버튼, 드롭 다운 등이있는 양식과 비슷할 것입니다.iOS에서 동적으로 양식을 만들어야합니까?

제 질문은 그러한 양식을 동적으로 작성하는 데 사용 된 정보를 저장하는 가장 좋은 방법은 무엇입니까? 내 요구 사항은 변경하기 쉽고 (치즈 피자는 이제 $ 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? "UISegmentedControl"과 같은 Objective-C 객체를 사용할 수 있기를 원하기 때문에 엄격하게 웹 응용 프로그램이되기를 원하지 않습니다.

+0

XML 또는 JSON을 사용하기로 결정하기 전에 QuickDialog 컨트롤 https://github.com/escoz/QuickDialog를 빠르게 살펴보고 동적으로 양식을 만드는 방법에 대해 알아보십시오. – tGilani

답변

2

네, XML은 확실히 좋은 선택입니다. 또한 JSON 사용을 고려해야합니다. 웹 서비스에 대한 정보를 생성하고, JSON을 사용하여 인코딩하고, 응용 프로그램 내에서 JSON 문자열을 다운로드 한 다음 구문 분석하고 문자열을 저장합니다.

일단 앱에 데이터가 있으면 UITableView을 사용하여 동적으로 양식을 만듭니다. UITableView의 데이터 소스는 NSArray이며 XML 또는 JSON 구문 분석을 통해 쉽게 얻을 수 있습니다.

관련 문제