SwiftUI total articol (rând în SQL termeni) contele de Bază de Date entitate [duplicat]

0

Problema

Folosind SwiftUI (2021) XCode 13.1 / iOS 14.5+ și Datele de Bază sunt încercarea de a obține cel mai eficient numărul total într-o entitate.

Asta dintr-un SQL perspectiva este ca obtinerea numărul total de rânduri dintr-un tabel.

Entitatea nu va conține mai multe rânduri, probabil nu mai mult de 40.

Am Căutat pe google o mulțime de exemple (inclusiv aici), dar unele sunt vechi și nu funcționează. Se pare a fi ceva de-a face cu countForFetchRequest dar în care nu sunt 100% sigur.

Am deja configurat recipient și entitatea care pur și simplu conține un câmp de identitate și un câmp de text.

Sunt inca noua Bază de Date astfel încât să sperăm că am terminologia corectă, dar din diverse exemple aceasta este ceea ce am venit cu. (de remarcat am nevoie de datele să persiste după ce aplicația este închisă).

import CoreData

class FooCoreDataService {
    
    private let container: NSPersistentContainer
    private let containerName: String = "FooCoreDataModel"
    private let entityName: String = "FooEntity"
    
    init() {
    
        container = NSPersistentContainer(name: containerName)
    
        container.loadPersistentStores { (_, error) in
            if let error = error {
                print("Error loading Core Data! \(error)")
            }
        }
        
    }
    
    // Get total item ('Row') count of FooEntity 
    func getFooCount() -> Int {
        
        var countOfItems: Int = 0
        
        // NOT SURE WHAT GOES HERE
        
        let fetchRequest = NSFetchRequest ????
        
        // SOMETHING TO DO WITH countForFetchRequest ????
        
        
        return countOfItems
    }

}
core-data entity nsfetchrequest swift
2021-11-23 00:18:54
1

Cel mai bun răspuns

0

Asta este ceea ce ai nevoie?

static func getFooCount() -> Int {
   let object = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext
   let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Product")
   let countOfItems = try! object.count(for: fetchRequest)
   return countOfItems
}
2021-11-23 04:22:52

În alte limbi

Această pagină este în alte limbi

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................