我在使用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'
有人能给我一个提示,说明我收到错误的原因吗?
答案 0 :(得分:2)
在该行:
NSArray *contents = [fileManager contentsOfDirectoryAtPath:onlineLink error:NULL];
contentsOfDirectoryAtPath应该是一个NSString,你传递一个NSData对象