gpt4 book ai didi

ios - 保存图像数组的最佳方法?

转载 作者:行者123 更新时间:2023-11-28 21:56:48 26 4
gpt4 key购买 nike

我正在寻找一种方法来将图像保存到数组(或类似数组)中,在应用程序关闭或重新启动后可以访问该数组(或类似数组)——还需要按日期对图像进行排序。我目前可以使用以下代码将图像存储到应用程序的 NSDocumentDirectory 中:

-(NSString *)currentDateandTime
{
NSDate *today = [NSDate date];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MMddyyyy_HHmmss"];
NSString *dateString = [dateFormat stringFromDate:today];
return dateString;
}

-(void)saveImageToDocuments
{
NSData *imageData = UIImagePNGRepresentation(image);

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *date = [self currentDateandTime];

NSString *imagePath =[documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@_image.png",date]];
}

这意味着我有图像,其中日期/时间在图像的文件名中。将这些图像存储在数组或字典中并按日期/时间对它们进行排序的最佳方法是什么。感谢阅读!

最佳答案

我会将文件名和日期保存在一个 plist 文件中,该文件是格式为字典的数组:@{ @"filename": imageFileName, @"date": imageDate }

当您将该 plist 加载到 NSArray 中时,您可以通过指定自己的比较方法轻松地按日期对其进行排序。例如:

NSArray *filenames = [[NSArray alloc] initWithContentsOfFile:filePath];

NSArray *sortedFilenames = [filenames sortedArrayUsingComparator:
^NSComparisonResult(NSDictionary *dict1, NSDictionary *dict2)
{
NSDate *date1 = dict1[@"date"];
NSDate *date2 = dict2[@"date"];

return [date1 compare:date2];
}

关于ios - 保存图像数组的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26267309/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com