如何仅从文档目录加载最新保存的图像?

时间:2012-01-13 09:03:54

标签: objective-c ios

我想显示我保存到文档目录中的最新添加的图像。

在下面的代码中,我尝试先计算ImageData.plist中的所有图像,然后通过减去1来显示最新图像。

它没有显示任何图像,所以我做错了什么,但无法弄清楚到底是什么?

提前谢谢。

- (void)viewDidLoad {
[super viewDidLoad];

//Show latest added image from document directory
//Add UIImageView
UIImageView *guideSheet = [[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 768, 1024)]autorelease];

//Add latest image
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"ImageData.plist"];
NSArray *plistFile = [[NSArray alloc] initWithContentsOfFile:path];
NSInteger plistCount = [plistFile count];

for (NSInteger i = plistCount; i < (plistCount - 1); i++) {

    // Show image
    NSString *imageName = [NSString stringWithFormat:@"ImageData/ImageData%i.jpg", i];
    UIImage* content = [UIImage imageWithContentsOfFile:imageName];
    guideSheet.image = content;
    [self.view addSubview:guideSheet];
}

[plistFile release];

}

1 个答案:

答案 0 :(得分:0)

创建NSString对象imageName时,未附加文档目录位置。因此,它使用的图像的完整路径是/ImageData/ImageData%i.jpg。

NSString *imageName = [documentsDirectory stringByAppendingPathComponent:@"ImageData/ImageData%i.jpg", i];

如果您能够将图像正确保存到文档目录中(如果这些图像位于mainBundle中,那么您将必须使用pathForResource而不是上述内容)。