0

ARCを使用し、NSErrorポインターを受け取るメソッドがあり、それを次のようなcontentsOfDirectoryAtPath:error:メソッドに渡します。NSFileManager

+ (NSArray *) getContentsOfCurrentDirectoryWithError: (NSError **)error
{
    // code here

    _contentsOfCurrentDirectory = [_fileManager contentsOfDirectoryAtPath: _documentDirectory error: error];

    // more code here
}

管理された言語に甘やかされているため、ポインターにあまり慣れていないため、このコードが正しいかどうかはわかりません。しかし、私の最初の反応はこれを行うことでした:

_contentsOfCurrentDirectory = [_fileManager contentsOfDirectoryAtPath: _documentDirectory error: &error];

しかし、Xcodeはそのように試してみて私に怒鳴りました。これがどのように機能するかについての私の仮定は、contentsOfDirectoryAtPath:error:メソッドがポインターを要求していることであり、メソッドでポインターを要求していたので、逆参照演算子を使用せずgetContentsOfCurrentDirectoryWithError:error:に渡すことができます。error

後で面倒なことを避けるために、これを正しく行っていることを確認したいのですが、私が持っているものに問題がありますか?

4

1 に答える 1

0

メソッドは、.hファイルのNSError**errorMessageのようになります。

+ (NSArray *) getContentsOfCurrentDirectory
{ 
  NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,    NSUserDomainMask, YES);
  NSString *_documentsDirectory = [paths objectAtIndex:0]; 
  NSArray *_contentsOfCurrentDirectory = [[NSFileManager defaultManger]  contentsOfDirectoryAtPath: _documentDirectory error: errorMessage]; 
  return contentsOfCurrentDirectory ;
}

エラーが発生するたびにerrorMessageリファレンスにエラーメッセージが表示されます[エラーの説明]

于 2012-06-13T15:40:23.397 に答える