Mọi thứ tôi đã đọc về việc sử dụng Dữ liệu cốt lõi trên nhiều chủ đề nói về việc sử dụng nhiều trường hợp NSManagedObjectContext
chia sẻ một NSPersistentStoreCoordinator
. Điều này được hiểu và tôi đã làm cho nó hoạt động trong một ứng dụng sử dụng dữ liệu lõi trên luồng chính hỗ trợ giao diện người dùng và có thao tác tìm nạp nền có thể mất một lúc để chạy.Nhiều thể hiện NSPersistentStoreCoordinator có được kết nối với cùng một kho lưu trữ SQLite cơ bản không?
Vấn đề là quyền truy cập vào lưu trữ liên tục SQLite nằm dưới được tuần tự hóa bởi NSPersistentStoreCoordinator
, vì vậy vẫn có những trường hợp giao diện người dùng bị chặn bởi thao tác tìm nạp nền.
Thao tác tìm nạp nền sẽ không bao giờ cập nhật dữ liệu, chỉ đọc từ đó. Tôi có thể thiết lập ngăn xếp Dữ liệu cốt lõi hoàn toàn song song (NSManagedObjectContext
, NSManagedPersistentStoreCoordinator
và NSManagedObjectModel
) trên luồng nền được kết nối với cùng một lưu trữ SQLite cơ bản không? Có vẻ như điều này sẽ cho đồng thời hoàn toàn giữa chuỗi giao diện người dùng và thao tác tìm nạp nền.
Xin chào GB, điều này vẫn hoạt động tốt cho bạn? Tôi cần phải làm một cái gì đó giống như thế này nhưng tôi không tìm thấy bất kỳ câu trả lời trực tuyến. – jasongregori
Tôi vẫn chưa có bất kỳ vấn đề với phương pháp này cho đến nay. – GBegen
Theo tôi hiểu, SQLite hỗ trợ nhiều độc giả đồng thời và một người viết đơn lẻ. Mỗi NSPersistentStoreCoordinator sau đó sẽ là một người đọc, vì vậy đó là hoàn toàn có thể. –