iOS将表单数据保存到多个文件
Posted
技术标签:
【中文标题】iOS将表单数据保存到多个文件【英文标题】:iOS Saving form data to multiple files 【发布时间】:2012-03-27 09:35:49 【问题描述】:我正在开发一个包含表单的应用程序。当填写表格并且用户点击“提交”按钮时,将保存一个文件,其中包含人员姓名和当前日期/时间。每次填写并提交表单时,(不幸的是)文件都会被当前文件覆盖。我的问题是,如何在每次填写时将相同的表单另存为不同的文件而不覆盖以前的文件?
【问题讨论】:
我认为我们确实需要更多信息,例如您如何尝试保存此“表单信息”。一些代码会有所帮助。 【参考方案1】:我编写了一个算法来将一个数字附加到任何名称冲突的文件中:
- (NSString *)getDocumentPath
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [[paths objectAtIndex:0] stringByAppendingPathComponent://nameOfFile];
//Check For Duplicate Objects
if ([[NSFileManager defaultManager] fileExistsAtPath:path])
int i = 0;
//Duplicate Found, enter while loop to append number to it.
while ([[NSFileManager defaultManager] fileExistsAtPath:path])
//nil out string
NSString *newString = nil;
NSString *pathExtension = nil;
//build string with new number
newString = [NSString stringWithFormat:@"%@%d",[[self.itemArray objectAtIndex:self.tableView.indexPathForSelectedRow.row] stringByDeletingPathExtension],i];
pathExtension =[[self.itemArray objectAtIndex:self.tableView.indexPathForSelectedRow.row] pathExtension];
//query again for duplicates
if (![[NSFileManager defaultManager] fileExistsAtPath:[[[paths objectAtIndex:0]stringByAppendingPathComponent:newString]stringByAppendingPathExtension:pathExtension]])
//success, break,write to file
return [[[paths objectAtIndex:0]stringByAppendingPathComponent:newString]stringByAppendingPathExtension:pathExtension];
break;
//nope, increment int and try again
i++;
else return path;
【讨论】:
以上是关于iOS将表单数据保存到多个文件的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 jquery 和 Ajax 将多个文件字段保存到 django