gpt4 book ai didi

iOS:包含日期的存档路径

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

我需要我的存档路径文件名包含日期。

但是,既然我已经开始工作了......我意识到我无法获得我的存档路径,因为我不知道应用程序打开的日期。

无论如何要查找存档路径作为通配符含义:

item.archive.%@ 其中 %@ 可以是任何东西(例如日期)?

我正在使用 NSKeyedArchiver。我的文件已保存 - 我的问题是在重新打开应用程序后获取文件,因为我不知道日期是多少。

更新:

在我的 itemArchivePath 函数中:

NSString *filename = [[NSString alloc] initWithFormat:@"items.archive.%@", date];

返回 [documentDirectory stringByAppendingPathComponent:filename];

由于我已将日期附加到文件名,如果我去调用 itemArchivePath -- 它不会有日期,因为它不知道日期是什么。无论如何我可以使用通配符获取项目路径 - 只会保存 1 个文件并且我知道路径的开头将是 items.archive。

最佳答案

此代码将允许您获取存档文件的所有 URL:

NSFileManager *fileManager = [NSFileManager defaultManager];
NSURL *documentDirectory = [fileManager URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0];
NSError *error;
NSArray *contents = [fileManager contentsOfDirectoryAtURL:documentDirectory
includingPropertiesForKeys:nil
options:NSDirectoryEnumerationSkipsSubdirectoryDescendants | NSDirectoryEnumerationSkipsPackageDescendants | NSDirectoryEnumerationSkipsHiddenFiles
error:&error];
if (contents)
{
NSPredicate *predicate = [NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary *bindings) {
return [[(NSURL *)evaluatedObject lastPathComponent] hasPrefix:@"items.archive."];
}];
contents = [contents filteredArrayUsingPredicate:predicate];
NSLog(@"Archive items: %@", contents);
}
else
{
NSLog(@"Failed to get contents:\n%@", error);
}

您可以通过确保(在谓词中)这些 URL 上有文件(而不是文件夹)来使其更健壮,但我猜这对您的情况来说可能有点过分了。

关于iOS:包含日期的存档路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26998123/

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