我正在开发一个应用程序,用户可以将csv文件上传到app的文档文件夹(我完成了它)。但我想给应用程序中的用户提供一个文本字段,并要求他们输入一个ID号,这个号码将与上传的csv文件第一列一起检查。如果匹配,则显示一条警告,说明它找到了匹配,否则就没有。
我使用以下代码,但它只检查第一行的第一行,而不检查其他行...我按下按钮时调用该函数...
NSString * pstrCSVFilePath= [[NSBundle mainBundle] pathForResource:@"CSVFile" ofType:@""]
NSString * pstrCSVFile= [NSString stringWithContentsOfFile:pstrCSVFilePath encoding:NSASCIIStringEncoding error:NULL];
NSArray * paRowsOfCSVFile= [pstrCSVFile componentsSeparatedByString:@"\n"];
NSArray * paColumnsOfRow;
NSString * pstrFirstColumn;
for(NSString * pstrRow in paRowsOfCSVFile)
{
paColumnsOfRow= [pstrRow componentsSeparatedByString:@","];
pstrFirstColumn= [paColumnsOfRow objectAtIndex:0];
if([pstrFirstColumn localizedCaseInsensitiveCompare:myTextField.text] == NSOrderedSame)
{
//Found the search string in the CSV file.
break;
}
}
答案 0 :(得分:1)
您是否检查了成功将输入分成多少行?我猜你的输入文件没有使用\ n进行换行,但可能是\ r ...
如果这是问题,那么您将把文件解释为只有一行。查看有关如何正确拆分行的相关答案:How do I get each line from an NSString?。根据您要定位的iOS版本,您可以使用问题本身中调出的方法。