SWIFT Realmの起動
既存の(少なくとも見たことがある)Realmに関する韓国語の文章はすべて旧式バージョンです.
最新バージョンは
このように文法も最新バージョンと若干互換性がないところがあるので、本書を見て少し整理しました.
インストール
Cocoapodsリポジトリ 端末 生成されたPodfileに Podfileの様子は以下の通りです.CRUD
最新バージョンは
@objc
を使用し、最新バージョンは@Persisted
を使用します.このように文法も最新バージョンと若干互換性がないところがあるので、本書を見て少し整理しました.
インストール
|更新
pod repo update
ココア豆の最新のRealmバージョンへのアクセスを許可!pod init
use_frameworks!
がない場合はpod 'RealmSwift', '~>10'
を追加して保存platform :ios, '12.0'
target 'MyRealmProject' do
# Comment the next line if you don't want to use dynamic frameworks
use_frameworks!
# Pods for MyRealmProject
pod 'RealmSwift', '~>10'
end
pod install
後.xcworkspaceファイルの使用を続行します.CRUD
importはimport RealmSwift
で行います.
**Realmswiftをロードできない場合は、https://teqoo.tistory.com/248を参照してください.
オブジェクトモデルは次のように記述されます.
要旨
Product > Schemes > New Scheme...
ヒンジswiftを選択して確認
Build the RealmSwift target (cmd + b)//
// Person.swift
// realm_intro
//
// Created by YOONJONG on 2021/08/11.
//
import Foundation
import RealmSwift
class Person: Object{
@Persisted(primaryKey: true) var _id : ObjectId
@Persisted var name: String = ""
@Persisted var age: Int?
convenience init(name: String) {
self.init()
self.name = name
}
}
idはデフォルトキーに設定され、name、ageはそれぞれstringと整数型として宣言されます.
Create
func createPerson(){
let realm = try! Realm()
let person1 = Person()
person1.name = "철수"
person1.age = 10
let person2 = Person()
person2.name = "영희"
person2.age = 11
print(Realm.Configuration.defaultConfiguration.fileURL!)
try! realm.write{
realm.add(person1)
realm.add(person2)
}
}
let realm = try! Realm()
は、Realmを開く行です.
では、Realm Studioで入力したデータを確認します.
https://docs.mongodb.com/realm/studio/からアプリケーションをダウンロードし、xcodeにprint(Realm.Configuration.defaultConfiguration.fileURL!)
を入力します.
Realmデータが格納されている場所を特定できるようになりました.
Read
次に、格納されているデータを読み出しましょう.func readPerson(){
print(Realm.Configuration.defaultConfiguration.fileURL!)
let realm = try! Realm()
let savedPerson = realm.objects(Person.self)
let filter1 = savedPerson.filter("name == '철수'")
print("-> Person : ", savedPerson)
print("filter1 : ", filter1)
}
let savedPerson = realm.objects(Person.self)
realmのcollectionを読み込むことができます.
必要なデータを取得できるのはfilterのみです.
Update & Delete
更新と削除 // UPDATE
let taskToUpdate = savedPerson[0]
try! realm.write {
taskToUpdate.age = 17
}
// DELETE
let taskToDelete = savedPerson[0]
try! realm.write{
realm.delete(taskToDelete)
}
かもしれません.
シナリオを変更する必要がある場合は、
ちなみに、年報を削除したり、住所報を追加したりするなど、モードを変更する必要がある場合は、schemaVersionを追加する必要があります.これは.func createPerson(){
let config = Realm.Configuration(schemaVersion: 2)
Realm.Configuration.defaultConfiguration = config
let realm = try! Realm()
let person1 = Person()
person1.name = "철수"
...
}
に示すように、タッチ構成でOKです.
Reference
この問題について(SWIFT Realmの起動), 我々は、より多くの情報をここで見つけました
https://velog.io/@yoonjong/Swift-Realm-시작하기
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
//
// Person.swift
// realm_intro
//
// Created by YOONJONG on 2021/08/11.
//
import Foundation
import RealmSwift
class Person: Object{
@Persisted(primaryKey: true) var _id : ObjectId
@Persisted var name: String = ""
@Persisted var age: Int?
convenience init(name: String) {
self.init()
self.name = name
}
}
func createPerson(){
let realm = try! Realm()
let person1 = Person()
person1.name = "철수"
person1.age = 10
let person2 = Person()
person2.name = "영희"
person2.age = 11
print(Realm.Configuration.defaultConfiguration.fileURL!)
try! realm.write{
realm.add(person1)
realm.add(person2)
}
}
func readPerson(){
print(Realm.Configuration.defaultConfiguration.fileURL!)
let realm = try! Realm()
let savedPerson = realm.objects(Person.self)
let filter1 = savedPerson.filter("name == '철수'")
print("-> Person : ", savedPerson)
print("filter1 : ", filter1)
}
// UPDATE
let taskToUpdate = savedPerson[0]
try! realm.write {
taskToUpdate.age = 17
}
// DELETE
let taskToDelete = savedPerson[0]
try! realm.write{
realm.delete(taskToDelete)
}
func createPerson(){
let config = Realm.Configuration(schemaVersion: 2)
Realm.Configuration.defaultConfiguration = config
let realm = try! Realm()
let person1 = Person()
person1.name = "철수"
...
}
Reference
この問題について(SWIFT Realmの起動), 我々は、より多くの情報をここで見つけました https://velog.io/@yoonjong/Swift-Realm-시작하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol