循环遍历 URLS 数组
Looping through an array of URLS
希望这很简单,我只是个慢热的新手。我创建了一个将照片存储在 iCloud 容器中的应用程序。这样可行。现在我正在尝试列出容器中的照片以显示在我的 UI 视图中。
列出容器内容:
public static func loadRBPhotos() -> [URL]? {
do {
let directoryContents = try FileManager.default.contentsOfDirectory(at: getDocumentDiretoryURL(), includingPropertiesForKeys: nil)
return directoryContents
} catch {
return nil
}
}
在我看来,我可以看到这些网址:
Button(action: {
print(photoFileController.loadRBPhotos()!)
}){
Text("Load RB Photos")
}
输出文件 url 数组:
[file:///private/var/mobile/Library/Mobile%20Documents/iCloud~RbPhotos/Documents/.XXXXXX-XXXXXX-XXXXXXXXXXXXXX.icloud, ile:///private/var/mobile/Library/Mobile%20Documents/iCloud~RbPhotos/Documents/.XXXXXX-XXXXXX-XXXXXXXXXXXXXX.icloud, ile:///private/var/mobile/Library/Mobile%20Documents/iCloud~RbPhotos/Documents/.XXXXXX-XXXXXX-XXXXXXXXXXXXXX.icloud, ile:///private/var/mobile/Library/Mobile%20Documents/iCloud~RbPhotos/Documents/.XXXXXX-XXXXXX-XXXXXXXXXXXXXX.icloud]
但我正在努力循环遍历此数组以显示:
ForEach(photoFileController.loadRBPhotos()!, id: \.self) { photo in
Text(String(contentsOf: photo))
}
错误:
非常感谢任何帮助!
如果要创建包含每个文件完整路径的文本项数组 URL,请使用如下代码:
ForEach(photoFileController.loadRBPhotos()!, id: \.self) { url in
Text(url.path))
}
请注意,这将包括每个文件的完整目录树,并且 iOS 目录名称又长又含糊。您可能希望将路径向下编辑到顶级目录名称和文件名。
希望这很简单,我只是个慢热的新手。我创建了一个将照片存储在 iCloud 容器中的应用程序。这样可行。现在我正在尝试列出容器中的照片以显示在我的 UI 视图中。
列出容器内容:
public static func loadRBPhotos() -> [URL]? {
do {
let directoryContents = try FileManager.default.contentsOfDirectory(at: getDocumentDiretoryURL(), includingPropertiesForKeys: nil)
return directoryContents
} catch {
return nil
}
}
在我看来,我可以看到这些网址:
Button(action: {
print(photoFileController.loadRBPhotos()!)
}){
Text("Load RB Photos")
}
输出文件 url 数组:
[file:///private/var/mobile/Library/Mobile%20Documents/iCloud~RbPhotos/Documents/.XXXXXX-XXXXXX-XXXXXXXXXXXXXX.icloud, ile:///private/var/mobile/Library/Mobile%20Documents/iCloud~RbPhotos/Documents/.XXXXXX-XXXXXX-XXXXXXXXXXXXXX.icloud, ile:///private/var/mobile/Library/Mobile%20Documents/iCloud~RbPhotos/Documents/.XXXXXX-XXXXXX-XXXXXXXXXXXXXX.icloud, ile:///private/var/mobile/Library/Mobile%20Documents/iCloud~RbPhotos/Documents/.XXXXXX-XXXXXX-XXXXXXXXXXXXXX.icloud]
但我正在努力循环遍历此数组以显示:
ForEach(photoFileController.loadRBPhotos()!, id: \.self) { photo in
Text(String(contentsOf: photo))
}
错误:
非常感谢任何帮助!
如果要创建包含每个文件完整路径的文本项数组 URL,请使用如下代码:
ForEach(photoFileController.loadRBPhotos()!, id: \.self) { url in
Text(url.path))
}
请注意,这将包括每个文件的完整目录树,并且 iOS 目录名称又长又含糊。您可能希望将路径向下编辑到顶级目录名称和文件名。