(Swift) 如何在一个文件夹中创建子文件夹
(Swift) How to make subfolders in one folder
我在Whosebug上找到了一些代码,但我好像没看懂:
extension FileManager.SearchPathDirectory {
func createSubFolder(named: String, withIntermediateDirectories: Bool = true) -> Bool {
var url = FileManager.default.urls(for: self, in: .userDomainMask).first
url?.appendPathComponent("f/folder1/appName/data")
print(url)
do {
try FileManager.default.createDirectory(at: url!.appendingPathComponent(named), withIntermediateDirectories: withIntermediateDirectories, attributes: nil)
print(url)
return true
} catch {
print(error)
return false
}
}
}
使用扩展名:
for index in 1...5 {
if FileManager.SearchPathDirectory.desktopDirectory.createSubFolder(named: String(index)) {
print("folder successfully created")
}
}
在我的应用程序中,我有一个文件夹 'data'。我想在 'data' 中创建 5 个名为“1”、“2”、“3”、“4”、“5”的新文件夹。
打印五次:
folder successfully created
PROBLEM is there are no new folders in data folder
in my app.
您的代码应该如下所示,
extension FileManager.SearchPathDirectory {
func createSubFolder(named: String, withIntermediateDirectories: Bool = true) -> Bool {
guard let url = FileManager.default.urls(for: self, in: .userDomainMask).first else { return false }
do {
try FileManager.default.createDirectory(at: url.appendingPathComponent(named), withIntermediateDirectories: withIntermediateDirectories, attributes: nil)
return true
} catch {
print(error)
return false
}
}
}
我刚刚将 withIntermediateDirectories 的默认值设置为 true
。
createIntermediates
:如果为真,此方法将创建任何不存在的父目录作为在 url 中创建目录的一部分。如果为 false,则如果任何中间父目录不存在,此方法将失败。
我在Whosebug上找到了一些代码,但我好像没看懂:
extension FileManager.SearchPathDirectory {
func createSubFolder(named: String, withIntermediateDirectories: Bool = true) -> Bool {
var url = FileManager.default.urls(for: self, in: .userDomainMask).first
url?.appendPathComponent("f/folder1/appName/data")
print(url)
do {
try FileManager.default.createDirectory(at: url!.appendingPathComponent(named), withIntermediateDirectories: withIntermediateDirectories, attributes: nil)
print(url)
return true
} catch {
print(error)
return false
}
}
}
使用扩展名:
for index in 1...5 {
if FileManager.SearchPathDirectory.desktopDirectory.createSubFolder(named: String(index)) {
print("folder successfully created")
}
}
在我的应用程序中,我有一个文件夹 'data'。我想在 'data' 中创建 5 个名为“1”、“2”、“3”、“4”、“5”的新文件夹。
打印五次:
folder successfully created PROBLEM is there are no new folders in
data folder
in my app.
您的代码应该如下所示,
extension FileManager.SearchPathDirectory {
func createSubFolder(named: String, withIntermediateDirectories: Bool = true) -> Bool {
guard let url = FileManager.default.urls(for: self, in: .userDomainMask).first else { return false }
do {
try FileManager.default.createDirectory(at: url.appendingPathComponent(named), withIntermediateDirectories: withIntermediateDirectories, attributes: nil)
return true
} catch {
print(error)
return false
}
}
}
我刚刚将 withIntermediateDirectories 的默认值设置为 true
。
createIntermediates
:如果为真,此方法将创建任何不存在的父目录作为在 url 中创建目录的一部分。如果为 false,则如果任何中间父目录不存在,此方法将失败。