0

xcode でオンラインの場所から iPad のドキュメント ディレクトリにファイルをコピーする際に少し問題があります。ダウンロードしたいファイルは、拡張子が「xml」のファイルである必要がありました。

今私はこれをやっています:

NSData *onlineLink = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:@"http://localhost:8888/"]];
NSString *extension = @"xml";
NSFileManager *fileManager = [NSFileManager defaultManager];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];


NSArray *contents = [fileManager contentsOfDirectoryAtPath:onlineLink error:NULL];  
NSEnumerator *e = [contents objectEnumerator];
NSString *filename;
while ((filename = [e nextObject])) {

    if ([[filename pathExtension] isEqualToString:extension]) {
        [fileManager copyItemAtPath:[documentsDirectory stringByAppendingPathComponent:filename toPath:documentsDirectory error:NULL]];
    }
}

ただし、これは機能しません。次のエラーが発生します。

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSConcreteData fileSystemRepresentation]: unrecognized selector sent to instance 0xb000800'

エラーが発生する理由を誰かに教えてもらえますか?

4

1 に答える 1

2

行で:

NSArray *contents = [fileManager contentsOfDirectoryAtPath:onlineLink error:NULL];  

contentsOfDirectoryAtPath は NSString である必要があります。NSData オブジェクトを渡しています

于 2011-05-04T12:15:22.987 に答える