Fayl tizimi
Fayl tizimi
FileManager, hujjatlar kataloglari va ma’lumotlarni o‘qish/yozish API’lari yordamida ilova sandbox’i bilan ishlang.
Kataloglarni topish
Documents va Caches papkalarini topish uchun FileManager dan foydalaning.
Sintaksis: FileManager.default.urls(for:in:), masalan, .documentDirectory, .cachesDirectory
Misol
import Foundation
let docs = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let caches = FileManager.default.urls(for: .cachesDirectory, in: .userDomainMask).first!
print("Docs:", docs)
print("Caches:", caches)
import SwiftUI
struct ContentView: View {
var body: some View {
Text("Locate Directories")
.padding()
}
}
import SwiftUI
@main
struct MyApp: App {
var body: some Scene {
WindowGroup { ContentView() }
}
}
Ushbu misol sandbox ichidagi Documents va Caches kataloglarini topadi.
O‘qish va yozish
Data va String API’lari yordamida matn yoki binar ma’lumotlarni yozing va o‘qing.
Sintaksis:
try data.write(to: url)let data = try Data(contentsOf: url)try text.write(to: url, atomically:encoding:)
Misol
import Foundation
let docs = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let file = docs.appendingPathComponent("hello.txt")
// Write text
let text = "Hello files!"
try? text.write(to: file, atomically: true, encoding: .utf8)
// Read text
let loaded = try? String(contentsOf: file, encoding: .utf8)
print(loaded ?? "")
import SwiftUI
struct ContentView: View {
var body: some View {
Text("Read & Write Files")
.padding()
}
}
import SwiftUI
@main
struct MyApp: App {
var body: some Scene {
WindowGroup { ContentView() }
}
}
Ushbu misol Documents ichida matnli fayl yozadi va uni qayta o‘qiydi.
Yaratish va o‘chirish
Papkalarni createDirectory bilan yarating va elementlarni removeItem bilan o‘chiring.
Sintaksis:
try FileManager.default.createDirectory(at:withIntermediateDirectories:)try FileManager.default.removeItem(at:)
Misol
import Foundation
let docs = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let folder = docs.appendingPathComponent("Temp")
try? FileManager.default.createDirectory(at: folder, withIntermediateDirectories: true)
try? FileManager.default.removeItem(at: folder)
import SwiftUI
struct ContentView: View {
var body: some View {
Text("Create and Remove Entries")
.padding()
}
}
import SwiftUI
@main
struct MyApp: App {
var body: some Scene {
WindowGroup { ContentView() }
}
}
Ushbu misol Documents katalogida ichki papka yaratadi, so‘ng uni o‘chiradi.
Maslahat: Foydalanuvchi hujjatlarini Documents katalogida saqlang; vaqtinchalik ma’lumotlarni Caches’da keshlang.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
