Tal*_*han 3 macos xcode swift swift-playground
我是 mac OS 开发的新手,所以请原谅我的任何基本问题,但相信我,我已经做了很多研究,但仍然有点卡住。
所以我试图访问当前用户的桌面内容。
在操场上很容易,只需使用
let homeURL = FileManager.default.homeDirectoryForCurrentUser
let desktopURL = homeURL.appendingPathComponent("Desktop/")
let contents = try fileManager.contentsOfDirectory(atPath:desktopURL.path)
Run Code Online (Sandbox Code Playgroud)
它显示桌面上的所有内容。但是当我在一个项目中运行类似的代码时。
let homeURL = FileManager.default.homeDirectoryForCurrentUser
Run Code Online (Sandbox Code Playgroud)
它返回我的应用程序的容器。
file:///Users/myUserName/Library/Containers/AppIdentifier/Data/
并且
let contents = try fileManager.contentsOfDirectory(atPath: desktopURL.path)不会返回任何内容。
好吧,我然后我用
删除最后一个路径组件
同时获取主路径以获取我的 URL 直到我的用户名
let homeURL = FileManager.default.homeDirectoryForCurrentUser.deletingLastPathComponent().deletingLastPathComponent().deletingLastPathComponent().deletingLastPathComponent()
Run Code Online (Sandbox Code Playgroud)
当我调试它时,它返回
file:///Users/myUserName
如我所愿。但是当我运行代码时,内容变量仍然为零。
下一次尝试:
我在互联网上搜索以检查获取目录路径的替代方法。所以我遇到了
NSOpen面板
我从 Panel 获取文件夹的 URL 并使用该 URL 检查其中的内容。它工作正常
这是代码
let homeURL = FileManager.default.homeDirectoryForCurrentUser
let desktopURL = homeURL.appendingPathComponent("Desktop/")
let contents = try fileManager.contentsOfDirectory(atPath:desktopURL.path)
Run Code Online (Sandbox Code Playgroud)
但我不明白为什么我不能直接访问内容。我已经尝试了很多次。在项目中,我无法enter code here直接从(某种)硬编码 URL 获取内容。
如果需要任何其他信息,请告诉我。
| 归档时间: |
|
| 查看次数: |
3522 次 |
| 最近记录: |