我是一个新的学生在9年级学习swift,创建一个学校项目。
我正在尝试创建一个目录,我想在其中保存扫描文件为pdf格式。
在创建目录时,我收到下面的错误。
错误1:
无法在属性初始值设定项内使用示例成员“filemgr”;属性初始值设定项在“self”可用之前运行。
错误2:
预期声明
代码:
let filemgr = FileManager.default
let dirPaths = filemgr.urls(for: .documentDirectory, in: .userDomainMask)
let docsURL = dirPaths[0]
let newDir = docsURL.appendingPathComponent("data").path
do{
try filemgr.createDirectory(atPath: newDir,withIntermediateDirectories: true, attributes: nil)
} catch {
print("Error: \(error.localizedDescription)")
}
请协助我解决这个问题。
谢谢。
6条答案
按热度按时间7ivaypg91#
请使用此代码:
Swift 5.0,Swift 4.0和Swift 3.0
lg40wkob2#
对于Swift 4.0请使用此
daolsyd03#
对于Swift 4.0,我在
URL
的基础上创建了以下扩展,允许在应用程序内的documents目录下创建一个文件夹。如果所需的文件夹不存在,它将创建它。然后,假设文件夹存在,它将
URL
返回给用户。否则,如果失败,则返回nil
。例如,要创建文件夹“MyStuff”,您可以这样调用它:
这将返回:
文件:///var/移动的/Containers/Data/Application/4DE 0A 1C 0 -8629- 47 C9 - 87 D 7-C2 B4 F3 A16 D24/Documents/MyStuff/
您还可以使用以下内容创建嵌套文件夹:
它为您提供:
文件:///var/移动的/Containers/Data/Application/4DE0A1C0-8629-47C9-87D7-C2B4F3A16D24/Documents/My/Stuff/Here/
7vhp5slm4#
你得到这个是因为你在错误的地方给
newDir
示例赋值。我用
viewDidLoad
写了你的代码,它工作得很好。kiz8lqtg5#
适用于Swift 5及以上版本
nbysray56#
创建目录