0

我正在开发一个应用程序,用户可以将 csv 文件上传到应用程序的文档文件夹(我完成了)。但我想在应用程序中为用户提供一个文本字段并要求他们输入一个 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; 
} 
}
4

1 回答 1

1

您是否检查过您已成功将输入拆分为多少行?我猜你的输入文件没有用 \n 换行,但可能是 \r ...

如果这是问题所在,那么您会将文件解释为只有一行。查看有关如何正确拆分行的相关答案:如何从 NSString 获取每一行?. 根据您所针对的 iOS 版本,您可以使用问题本身中调用的方法。

于 2012-09-07T01:21:25.810 回答