【发布时间】:2020-09-24 16:29:17
【问题描述】:
我有一个本地 json 文件,我使用 Bundle.main.path 函数访问文件路径,但出现错误。
服务
class Service {
fileprivate var baseURL: String?
init(baseURL: String) {
self.baseURL = baseURL
}
func getAllData() {
AF.request(self.baseURL!, method: .get, parameters: nil, encoding: URLEncoding.default, headers: nil, interceptor: nil, requestModifier: .none).response { (responseData) in
guard let data = responseData.data else { return }
do {
let packages = try JSONDecoder().decode(Package.self, from: data)
print(packages)
} catch let error {
print(error.localizedDescription)
}
}
}
}
视图控制器
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
guard let url = Bundle.main.path(forResource: "packageList", ofType: "json") else { return }
let service = Service(baseURL: url)
service.getAllData()
}
【问题讨论】:
-
1.为什么要为此使用 Alamofire? 2.您的网址应以“file://”开头
-
使用
url(forResource: withExtension:)而不是path(forResource:ofType:)。 -
如果上述方法对您有用,您能否将其添加为答案并将其标记为已解决?
标签: json swift alamofire jsondecoder