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 ...

これが問題である場合は、ファイルが1行しかないものとして解釈されます。行に正しく分割する方法については、この関連する回答を確認してください。NSStringから各行を取得するにはどうすればよいですか。。対象とするiOSのバージョンによっては、質問自体で呼び出された方法を使用できる可能性があります。

于 2012-09-07T01:21:25.810 に答える