[swift/Realm]realmデータモデル@持続化の意味,propertyパッケージ
Intro
Realmを使用してiOSアプリケーションにユーザーデータを格納
まずRealmデータモデルを作成します.
class UserChatting: Object {
@Persisted var to: String //채팅을 받는 사람의 uid
@Persisted var from: String //채팅을 보내는 사람의 uid
@Persisted var chat: String //보낸 채팅 내용
@Persisted var createdAt: String//채팅을 보낸 시간
//PK
@Persisted(primaryKey: true) var _id: ObjectId
convenience init(to: String, from: String, chat: String, createdAt: String) {
self.init()
self.to = to
self.from = from
self.chat = chat
self.createdAt = createdAt
}
}
このようにして、どのようなフォーマットでどのデータを格納するかに関する情報を作成する必要があります.このとき,@Persistedの使用が何を意味するかを理解してみよう.
(旧バージョンでは@objc、最新バージョン10.24では@Persistedを使用)
Property Wrapper
@はswiftのpropertyパッケージを表します.
swift 5.1から追加された機能、@Published、@Binding、@State、@availableなどが属性パッケージです.
職業資格を発表するとともに、どのような行動を取るかを決めると言える.作成したpropertyパッケージを使用するか、propertyパッケージを直接作成して必要な論理を実行することができるため、重複するコードを減らすことができます.(再利用可能)
@Persistedを定義したコードをxcodeで検索...
このように定義されていることがわかります
@Persistedはrealmで定義されたpropertyパッケージです!
では、その役割を理解してみましょう.
Persistance
続けた辞書は「続ける」「続ける」という意味です.
アプリケーションでRealmを使用する理由を考えてみましょう
なぜRealmを使うのですか?
→アプリケーションを閉じても、メンテナンスが必要なデータ(ex.ユーザ情報)
つまり、永続化が必要なデータのために使用されます.
Realmでは、@Persistedという名前のプロパティパッケージを使用して、永続性のあるデータを管理できます.
どのように持続的に管理するかはpropertyパッケージが自分で処理すると見なすことができる.
Realmデータモデルを定義する場合は@Persistedを宣言するだけです.
+)
Realmに加えて、Persistanceを有するデータを処理する他の方法としては、UserDefault、Property List、SQLite、CoreDataが挙げられる.
リファレンス
Realmswift 10.24.0の正式なドキュメント
https://www.mongodb.com/docs/realm-sdks/swift/latest/Structs/Persisted.html
Reference
この問題について([swift/Realm]realmデータモデル@持続化の意味,propertyパッケージ), 我々は、より多くの情報をここで見つけました https://velog.io/@luboolu/SwiftRealm-realm-데이터-모델-persisted의-의미-property-wrapperテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol