Chúng tôi đang trong quá trình chuyển đổi một dự án để sử dụng Realm. Chúng tôi thực sự ấn tượng cho đến nay, đặc biệt là với Realm Browser (rất tiện dụng!).
Do đó, một số câu hỏi đã được đưa ra và chúng tôi muốn nhận ra một số mô hình sử dụng cụ thể trước khi tiếp tục. Ứng dụng của chúng tôi có rất nhiều luồng (lệnh gọi API, hoạt ảnh, v.v.), vì vậy hãy ghi nhớ điều đó khi đọc câu hỏi, vì tôi biết không thể truy cập các phiên bản Realm qua các luồng (hiện tại).
- Chúng ta nên lo lắng đến mức nào về việc liên tục tạo các phiên bản của Realm? Chi phí là gì?
- Chúng ta có nên giữ lại các phiên bản Realm trong ViewControllers hoặc Singletons để sử dụng nhiều lần không? Chúng tôi đã thử điều này nhưng đôi khi các phiên bản được truy cập từ các chuỗi khác nhau, vì vậy chúng tôi phải hoàn nguyên để tạo một phiên bản mới mỗi lần.
- Khi truy cập thuộc tính mối quan hệ trên các cá thể Realm, dữ liệu kết quả được đọc có được giữ lại trong bộ nhớ hay nó được đọc từ đĩa mọi lúc? Chúng tôi có phải lo lắng về việc các phiên bản Realm được giữ lại trở nên quá lớn do quyền truy cập mối quan hệ sâu không?
Khi nào thì cần làm mới một phiên bản Realm? Tôi nhận thấy rằng khi tôi thực hiện các thay đổi trong trình duyệt Realm, chúng được phản ánh trong Realm được giữ lại mà không cần gọi làm mới.- Có vẻ như có một thuộc tính Tự động làm mới trên mỗi lĩnh vực gây ra điều này theo tài liệu.
- Truy cập
realm
tài sản có phải là mộtObject
hành vi xấu? Chúng tôi đã sử dụng điều này để ghi vào Realm nếu hàm sử dụng đối tượng không tạo đối tượng hoặc Realm (tất nhiên là trên cùng một chuỗi).
Ví dụ...
func saveStuff(thingToUpdate: Object?) {
if let thingToUpdate = thingToUpdate, let realm = thingToUpdate.realm {
realm.write {
thingToUpdate.name = "lionpants"
}
}
}
Cảm ơn trước. Tôi mong chờ câu trả lời của bạn. : D