Nó thực sự chỉ là thế này:
let kBoat = try? yourContainer.viewContext.count(for: NSFetchRequest(entityName: "Boat"))
"Thuyền" chỉ là tên của thực thể từ màn hình mô hình dữ liệu của bạn:
Toàn cầu là gì yourContainer
gì?
Để sử dụng dữ liệu cốt lõi, tại một số điểm trong ứng dụng của bạn, chỉ một lần duy nhất, bạn chỉ cần đi
var yourContainer = NSPersistentContainer(name: "stuff")
trong đó "Stuff" chỉ đơn giản là tên của tệp mô hình dữ liệu.
Bạn chỉ cần có một singleton cho việc này,
import CoreData
public let core = Core.shared
public final class Core {
static let shared = Core()
var container: NSPersistentContainer!
private init() {
container = NSPersistentContainer(name: "stuff")
container.loadPersistentStores { storeDescription, error in
if let error = error { print("Error loading... \(error)") }
}
}
func saveContext() {
if container.viewContext.hasChanges {
do { try container.viewContext.save()
} catch { print("Error saving... \(error)") }
}
}
}
Vì vậy, từ bất cứ nơi nào trong ứng dụng
core.container
là container của bạn,
Vì vậy, trong thực tế để có được số lượng của bất kỳ thực thể, nó chỉ là
let k = try? core.container.viewContext.count(for: NSFetchRequest(entityName: "Boat"))