按下按钮时我正在构建表单。按下按钮后,将向服务器发送ASIHTTPRequest。这个服务器正在返回一个XML文档,我正在构建一个。
形式正在构建表单的方法如下所示:
- (void) traverseElement:(TBXMLElement *)element {
static CGFloat y = 300.0f;
static CGFloat dynamicHeight = 400.0f;
do {
if ([[TBXML elementName:element] isEqualToString:@"wcqQuestionText"]) {
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(75, y, 200, 50)];
label.text = [TBXML textForElement:element];
[scrollView addSubview:label];
scrollView.contentSize = CGSizeMake(768, dynamicHeight);
[formulierText removeFromSuperview];
[label release];
y += 50.0f;
dynamicHeight += 50.0f;
}
if([[TBXML elementName:element] isEqualToString:@"wcqAnswerValues"]) {
NSString *segmentItemsStr = [TBXML textForElement:element];
NSArray *segmentItemsArray = [segmentItemsStr componentsSeparatedByString:@";"];
UISegmentedControl *answer = [[UISegmentedControl alloc] initWithItems:segmentItemsArray];
answer.frame = CGRectMake(50, y, 400, 40);
[answer addTarget:self action:@selector(textpopup:) forControlEvents:UIControlEventValueChanged];
answer.segmentedControlStyle = UISegmentedControlStyleBar;
[scrollView addSubview:answer];
scrollView.contentSize = CGSizeMake(768, dynamicHeight);
[formulierText removeFromSuperview];
[answer release];
y += 40.0f;
dynamicHeight += 40.0f;
}
if([[TBXML elementName:element] isEqualToString:@"rayonfiliaal"]) {
NSString *rayonFiliaal = [TBXML textForElement:element];
[stringsArray addObject:rayonFiliaal];
}
if([[TBXML elementName:element] isEqualToString:@"filiaal"]) {
NSString *filiaalNaam = [TBXML textForElement:element];
[filiaalArray addObject:filiaalNaam];
}
if ([[TBXML elementName:element] isEqualToString:@"formdata"]) {
y = 300.0f;
dynamicHeight = 400.0f;
}
// if the element has child elements, process them
if (element->firstChild)
[self traverseElement:element->firstChild];
// Obtain next sibling element
} while ((element = element->nextSibling));
}
我想做的是:
如果用户填写表单。我需要将其保存为本地XML文件,其中包含值。 实现这一目标的最佳方法是什么?
答案 0 :(得分:0)
您可以将这些值存储在plist中。
此链接应显示如何创建一个plist。
Property List Programming Guide
您可以使用此方法[label text]
;
对于分段控件,您将使用以下方法
[answer titleForSegmentAtIndex:index]
;
这些方法将返回一个NSString,您可以将其存储在NSDictionary中。
获得这些值后,只需创建NSDictionary对象并以原子方式调用[字典writeToFile:pathToDirectory:YES];