componentsSeparatedByCharactersInSet
私のアプリは現在、とcomponentsSeparatedByString
メソッドの組み合わせを使用して Web サービスから CSV ファイルを解析しています。ファイルが非常に大きいため (平均で 1 MB を超える)、iPad では解析に数秒かかり、遅すぎます。私のソリューションのメモリ フットプリントも問題です (フル テキスト ファイルをメモリに保持しています)。これが、より高速でメモリ効率の高いソリューションを探している理由です。直接CHCSVParser
解析できるものに出くわしました。NSInputStreams
NSInputStream *stream = [NSInputStream inputStreamWithFileAtPath:file];
CHCSVParser * p = [[CHCSVParser alloc] initWithInputStream:stream
usedEncoding:&encoding delimiter:';'];
( CHCSVParserのサンプル プロジェクトからのソース)
私の質問:
NSInputStream
の結果としてを取得するにはどうすればよいNSURLRequest
ですか? (現在、CSV ファイル全体をオブジェクトとして取得し、解析するためにNSData
変換しています)。NSString
NSInputStream
from を とNSURLRequest
直接使用できCHSVParser
ますか?
CHCSVParser
sinitWithInputStream
メソッドを使用することを一般的にお勧めしますか、NSURLRequest
それともドキュメントをメモリにダウンロードして、完全なダウンロード後に解析しますか?