iT邦幫忙

2023 iThome 鐵人賽

DAY 21
0
Mobile Development

ios前端開發學習系列 第 21

【Day21】認識如何使用 realm 來取代 Xcode 內建 core data

  • 分享至 

  • xImage
  •  

當談到在 iOS 應用程式中進行資料持久化(即保存資料)時,Core Data 是一個常被提及的選項。然而,Realm 是一個越來越受歡迎的替代方案,它提供了一個更簡單和更快速的方式來存儲和查詢資料。

為什麼使用 Realm ?

  1. 易於使用: Realm 的 API 設計非常直觀,容易上手。
  2. 高效能: Realm 是為移動應用程式設計的,因此在讀寫效能上非常出色。
  3. 跨平台: Realm 支持多個平台,包括 iOS、Android 和甚至是 Web。

使用 Realm 存儲資料

在 Realm 中,您會使用自定義的 Swift 類來表示資料模型。這些類應繼承自 Object。

import RealmSwift

class Dog: Object {
    @Persisted var name: String
    @Persisted var age: Int
}

開啟 Realm 資料庫

override func viewDidLoad() {    
    super.viewDidLoad()
    
    let realm = try! Realm()

    print(Realm.Configuration.defaultConfiguration.fileURL!)
}

在 Debug Area -> 反白選取連結 -> 雙擊觸控板/右鍵 -> Services -> Open

這樣就會跳出資料庫內容

新增資料

let myDog = Dog()
myDog.name = "Rex"
myDog.age = 3

// 獲取 Realm 實例
let realm = try! Realm()

// 儲存 Dog 對象
try! realm.write {
    realm.add(myDog)
}

查詢資料

// 查詢所有的 Dog 對象
let dogs = realm.objects(Dog.self)

// 查詢特定條件的 Dog 對象
let puppies = realm.objects(Dog.self).filter("age < 2")

更新資料

try! realm.write {
    myDog.age = 4
}

刪除資料

try! realm.write {
    realm.delete(myDog)
}

總結

使用 Realm 作為您的資料存儲解決方案不僅可以讓您更容易地管理和查詢資料,而且還提供了優越的性能和跨平台支持。如果您之前一直在使用 Core Data,那麼轉向 Realm 可能會為您帶來一個更簡單、更高效的開發體驗。


上一篇
【Day20】認識如何使用正規變數名稱(駝峰式命名)
下一篇
【Day22】認識如何使用tableView(一)右滑左滑
系列文
ios前端開發學習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言