Avem urmatorul scenariu. Un fisier local ServerData.json care serveste continut pentru aplicatie; e o situatie putin atipica, in general content-ul vine din exterior.
Revenim, fisierul ServerData.json este adaugat in proiectul nostru si are in Target membership – File Inspector activat numele proiectului pentru a fi inclus la compilare.
Pentru a extrage informatiile din JSON si a le transforma in Data definim urmatoarea metoda:
public func dataFromFile(_ filename: String) -> Data? {
@objc class TestClass: NSObject { }
let bundle = Bundle(for: TestClass.self)
if let path = bundle.path(forResource: filename, ofType: “json”) {
return (try? Data(contentsOf: URL(fileURLWithPath: path)))
}
return nil
}
bundle va fi un “container” care va incarca din path fisierul cu extensia json in caz ca exista (if let) urmand a obtine content-ul in format Data al json-ului.