Xcode 4.3
私は NSError** に関する SO の質問を読んだので、Xcode 4.3 で推奨されているわずかに異なる構文を使用する簡単なテスト プログラムを作成しました (以下を__autoreleasing
参照)。正しく機能しているように見えます。とにかく、単純なファイル リーダーで、ファイルが見つからない場合はエラーを出力します。
質問
NSError の初期化、 を使用した引数の受け渡し&
、およびエラー状態のチェックが正しいかどうかを知りたいです。また、メソッドでは、とreadFileAndSplit..
の大きな違いに気付きました。実際、エラー状態が発生しない場合は機能しません。if(!*error)
if(!error)
if(!error)
エラー状態の可能性があるファイル読み取り方法
-(NSArray*) readFileAndSplitLinesIntoArray:(NSError *__autoreleasing *) error {
NSString* rawFileContents =
[NSString stringWithContentsOfFile:@"props.txt"
encoding:NSUTF8StringEncoding
error:error
NSArray* fileContentsAsArray = nil;
if(!*error)
fileContentsAsArray =
[rawFileContents componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];
return fileContentsAsArray;
発信者
SimpleFileReader* reader = ...
NSError* fileError = nil;
NSArray* array = [reader readFileAndSplitLinesIntoArray: &fileError];
if(fileError){
NSLog(@"Error was : %@, with code: %li",
[fileError localizedDescription],(long)[fileError code]);
}