Tài liệu của Realm nói rằng RLMResults
đang liếm NSArray
. Tôi có một số kết quả được trả về từ cơ sở dữ liệu và tôi muốn hợp nhất nó thành một số khác RLMResults
. Nhưng có vẻ như nó không thay đổi, Làm cách nào để thêm một đối tượng từ RLMResults
? hoặc làm cho nó có thể thay đổi? hoặc chuyển đổi nó thành NSArray
?Cách làm cho RLMResults có thể thay đổi?
Trả lời
Hiện tại, đây là điều bạn phải làm theo cách thủ công. Bạn có thể tạo một RLMArray bằng cách nối hai kết quả của bạn.
Chúng tôi đang thảo luận về phương thức hợp nhất/hợp nhất tiếp tục xuống trên lộ trình cho RLMObjects cùng loại mặc dù.
Bất kỳ bit, bạn có thể chia sẻ sẽ giúp chúng ta hiểu được những trường hợp sử dụng và có khả năng ảnh hưởng đến thiết kế api
Chừng nào họ là cùng loại, sau đây là một ví dụ generic
let currentTask = Task.objectsWhere("name = %@", "First task").firstObject() as Task
let currentRecords = currentTask.records
let arrayOfRecords = RLMArray(objectClassName: "Record")
arrayOfRecords.addObjects(currentRecords)
let futureTask = Task.objectsWhere("name = %@", "Future task").firstObject() as Task
let futureRecords = futureTask.records
arrayOfRecords.addObjects(futureRecords)
Bạn có thể cung cấp mã để chuyển đổi đối tượng RLMResults thành đối tượng RLMArray không? Tôi không thể tìm ra cách để làm điều đó, và về cơ bản nó sẽ là câu trả lời cho câu hỏi của OP. Nó cũng có vẻ lạ với tôi rằng RLMArray không thể được khởi tạo, vì bạn có thể tùy ý thêm các đối tượng vào một cá thể. Ngoài ra, đây là một chút trong phạm vi của câu hỏi, nhưng trong RLMResults, việc sử dụng firstObject và lastObject là gì? Tôi không thể tìm cách để lấy các vật dụng khác từ những thứ đó. Đây có lẽ là những câu hỏi ngây thơ - tôi mới đến thư viện. –
Không vấn đề gì, tôi đã chỉnh sửa ví dụ của mình để bao gồm điều này. Nó có thể được khởi tạo với một kiểu. Làm thế nào bạn đang cố gắng để nhanh chóng nó? Không chắc chắn câu hỏi cuối cùng là gì, nhưng tôi sử dụng firstObject rất nhiều như bạn thấy trong ví dụ trên kể từ Task.objectsWhere ... sẽ trả về một RLMResults, khi tôi chỉ tìm kiếm một Task. lastObject có thể được sử dụng khi bạn muốn biết Tác vụ cuối cùng đã được thêm vào dựa trên tiêu chí tìm kiếm của bạn – yoshyosh
tôi phát hiện ra giải pháp từ duemunk: https://github.com/realm/realm-cocoa/issues/1046
về cơ bản tôi chuyển đổi RLMResults tới [RLMObject]: func toArray<T>(ofType: T.Type) -> [T] { var array = [T]() for result in self { if let result = result as? T { array.append(result) } } return array }
let tracks = Track.allObjects().toArray(Track.self) // tracks is of type [Track]
- 1. Chuyển đổi RLMResults thành RLMArray
- 2. Làm cách nào để soạn Iterator có thể thay đổi?
- 3. làm cách nào để tôi có thể thay đổi DOCTYPE
- 4. RLMResults to NSArray conversion in ios
- 5. Cách tốt nhất để làm cho winforms có thể thay đổi kích thước?
- 6. Meteor.userId có thể thay đổi
- 7. Thay đổi trang có thể thay đổi trang gọi lại
- 8. Có thể thay đổi hành động cho UIButton không?
- 9. Tại sao __code__ cho hàm (Python) có thể thay đổi
- 10. Có thể thay đổi hướng RatingBar không?
- 11. Không thể thay đổi cameraFlashMode cho UIImagePickerController
- 12. Biến có thể thay đổi và Bộ sưu tập có thể thay đổi
- 13. `ondragstart` kiểu CSS có thể thay đổi
- 14. Const và có thể thay đổi
- 15. Làm cho trình chỉnh sửa ACE có thể thay đổi kích thước
- 16. Có cách nào để xóa cơ chế theo dõi thay đổi cho một thực thể không?
- 17. Làm cách nào để thay đổi SRID cho Oracle SDO_GEOMETRY
- 18. Làm cách nào để thay đổi JAVA_HOME cho kiến?
- 19. Làm cách nào để thay đổi thời gian cho NSTimer?
- 20. Tôi làm cách nào để thay đổi ReturnUrl cho OpenID?
- 21. Không thể làm cho jQuery có thể thay đổi kích thước để hoạt động: Tôi đang làm gì sai?
- 22. Bộ có thể thay đổi trong NSManagedObjects?
- 23. Thùng chứa không thay đổi có nội dung có thể thay đổi
- 24. Cột có thể thay đổi kích thước
- 25. Chuỗi có thể thay đổi trong Python
- 26. Có thể và cách "Tín dụng thay đổi" cho Mercurial/Git như trong Bazaar?
- 27. Cách ưu tiên để tạo bản sao có thể thay đổi của đối tượng không thể thay đổi được?
- 28. Cách thay đổi JAVA.HOME cho Eclipse/ANT
- 29. Cách làm cho hộp thoại Giao diện người dùng jQuery không thể thay đổi kích thước
- 30. Làm thế nào để có được một danh sách (không thay đổi và có thể thay đổi) Bộ trong scala?
Đang cố gắng trả lời câu hỏi của bạn và thực sự bắt đầu ghét thiết kế API này haha. Tại sao bạn cần kết hợp RLMResults? –
@MillieSmith Tôi cần phải kết hợp RLMResults với RLMResults. –
Bạn có thể chia sẻ thêm về những gì bạn đang cố gắng làm không? Một mẫu mã nhỏ sẽ là tốt. Đây có thể là điều mà chúng tôi có thể xem xét dựa trên các trường hợp sử dụng – yoshyosh