【发布时间】:2011-10-11 06:00:49
【问题描述】:
我正在尝试从设备 (iPhone) 中获取一些图像并将它们显示在屏幕上。
图像文件保存在我的设备上并分隔在如下文件夹中:(...)/Documents/1/image1.png。
这是我试图获取图像的函数的代码
-(UIImage *) getImageFromDevice:(NSString *) fileName
idImage:(int) idImage{
NSString *path;
path = [[self dataFilePath] stringByAppendingString:@"/"];
path = [path stringByAppendingString: [[NSString alloc] initWithFormat:@"%d",idImage]];
path = [path stringByAppendingString:@"/"];
path = [path stringByAppendingString:fileName];
NSLog(@"path = %@", path);
NSURL *deviceImageUrl = [[NSURL alloc] initWithString:path];
NSData *imageData = [NSData dataWithContentsOfURL:deviceImageUrl];
UIImage *deviceImage = [UIImage imageWithData:imageData];
return deviceImage;
}
这是获取正常工作的设备文件夹路径的函数:
-(NSString *)dataFilePath{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
return documentsDirectory;
}
但是当我使用 [[NSURL alloc] initWithString:path] 设置 NSURL *deviceImageUrl 时,deviceImageUrl 变为 nil。
我做错了什么?
【问题讨论】:
-
我在模拟器上试试。
标签: iphone objective-c uiimage device nsurl