Swift 是一種快速、安全的程式語言,它可以讓開發者快速開發出功能強大的應用程式。在開發應用程式時,有時候需要將資料儲存在離線的設備上,而 Swift 提供了多種離線資料儲存方法,讓開發者可以快速開發出功能強大的應用程式。

Swift 離線資料儲存方法

Swift 提供了多種離線資料儲存方法,包括:UserDefaultsCore DataSQLiteRealm等。

UserDefaults

UserDefaults 是 Swift 中最簡單的離線資料儲存方法,它可以讓開發者將資料儲存在設備的檔案系統中,並且可以在應用程式重新啟動時輕鬆取出資料。

// 儲存資料
UserDefaults.standard.set("Hello World", forKey: "greeting")

// 取出資料
let greeting = UserDefaults.standard.string(forKey: "greeting")

Core Data

Core Data 是一種資料庫管理系統,它可以讓開發者將資料儲存在設備的檔案系統中,並且可以在應用程式重新啟動時輕鬆取出資料。

// 建立一個新的 Core Data 模型
let model = NSManagedObjectModel()

// 建立一個新的 Core Data 持久儲存區
let store = NSPersistentStoreCoordinator(managedObjectModel: model)

// 建立一個新的 Core Data 資料庫
let context = NSManagedObjectContext(persistentStoreCoordinator: store)

// 儲存資料
let entity = NSEntityDescription.insertNewObject(forEntityName: "Entity", into: context)
entity.setValue("Hello World", forKey: "greeting")

// 取出資料
let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Entity")
let results = try context.fetch(fetchRequest)
let entity = results.first as! NSManagedObject
let greeting = entity.value(forKey: "greeting")

SQLite

SQLite 是一種開源的資料庫管理系統,它可以讓開發者將資料儲存在設備的檔案系統中,並且可以在應用程式重新啟動時輕鬆取出資料。

// 建立一個新的 SQLite 資料庫
let db = try Connection("path/to/database.sqlite3")

// 建立一個新的資料表
try db.run(table.create { t in
    t.column("id", primaryKey: true)
    t.column("greeting", .text)
})

// 儲存資料
try db.run(table.insert(or: .replace, "greeting" <- "Hello World"))

// 取出資料
let rows = try db.prepare(table.select("greeting"))
for row in rows {
    let greeting = row[0]
}

Realm

Realm 是一種開源的資料庫管理系統,它可以讓開發者將資料儲存在設備的檔案系統中,並且可以在應用程式重新啟動時輕鬆取出資料。

// 建立一個新的 Realm 資料庫
let realm = try! Realm()

// 建立一個新的資料表
class Entity: Object {
    @objc dynamic var greeting = ""
}

// 儲存資料
let entity = Entity()
entity.greeting = "Hello World"
try! realm.write {
    realm.add(entity)
}

// 取出資料
let results = realm.objects(Entity.self)
for entity in results {
    let greeting = entity.greeting
}

Swift 提供了多種離線資料儲存方法,開發者可以根據自己的需求選擇合適的方法來儲存資料。

推薦閱讀文章

推薦閱讀文章

            <a href="https://www.raywenderlich.com/567-swift-data-persistence-tutorial-getting-started">Swift Data Persistence Tutorial: Getting Started</a><br>
            <a href="https://www.appcoda.com/swift-data-persistence/">Swift Data Persistence: Saving Your App Data Securely</a><br>
            <a href="https://www.hackingwithswift.com/example-code/system/how-to-save-user-settings-using-userdefaults">How to save user settings using UserDefaults</a><br>
            <a href="https://www.hackingwithswift.com/example-code/system/how-to-read-and-write-from-the-filesystem-using-filemanager">How to read and write from the filesystem using FileManager</a><br>
            <a href="https://www.hackingwithswift.com/example-code/system/how-to-use-codable-for-json-encoding-and-decoding">How to use Codable for JSON encoding and decoding</a

延伸閱讀本站文章

更多swift相關文章

Swift 離線資料儲存方法 💾

Categorized in:

Tagged in:

,