1. 访问位于您的 Playground 的
Resources
文件夹中的文件
在 Swift 3 中,Bundle
有一个名为 url(forResource:withExtension:)
的方法。 url(forResource:withExtension:)
的声明如下:
func url(forResource name: String?, withExtension ext: String?) -> URL?
返回由指定名称和文件扩展名标识的资源的文件URL。
您可以使用`url(forResource:withExtension:)`来读取位于iOS或Mac Playground的`Resources`文件夹中的json文件的内容。
import Foundation
do {
guard let fileUrl = Bundle.main.url(forResource: "Data", withExtension: "json") else { fatalError() }
let data = try Data(contentsOf: fileUrl)
let json = try JSONSerialization.jsonObject(with: data, options: [])
print(json)
} catch {
print(error)
}
2. 访问位于计算机的`~/Documents/Shared Playground Data`文件夹中的文件
使用Swift 3,`PlaygroundSupport`模块提供了一个名为`playgroundSharedDataDirectory`的全局常量。`playgroundSharedDataDirectory`的声明如下:
let playgroundSharedDataDirectory: URL
包含所有游乐场共享数据的目录路径。
您可以使用`playgroundSharedDataDirectory`来读取位于您计算机的macOS游乐场的`~/Documents/Shared Playground Data`文件夹中的json文件的内容。
import Foundation
import PlaygroundSupport
do {
let fileUrl = PlaygroundSupport.playgroundSharedDataDirectory.appendingPathComponent("Data.json")
let data = try Data(contentsOf: fileUrl)
let json = try JSONSerialization.jsonObject(with: data, options: [])
print(json)
} catch {
print(error)
}
stringWithContentsOfFile
有一个错误参数,请检查它包含什么。 - Alexanderif let directories = dirs {
。这样可以节省一步。 - Kevin