SwiftUI получает общее количество элементов (строк в терминах SQL) от объекта основных данных [дубликат]

0

Вопрос

Используя SwiftUI (2021) XCode 13.1 / iOS 14.5+ и основные данные, я пытаюсь получить наиболее эффективное общее количество внутри объекта.

Это с точки зрения SQL похоже на получение общего количества строк из таблицы.

Сущность никогда не будет содержать много "строк", вероятно, никогда не более 40.

Я прогуглил множество примеров (в том числе здесь), но некоторые из них старые, и большинство из них не работают. Похоже, это как-то связано с countForFetchRequest, но в этом я не уверен на 100%.

Я уже настроил контейнер и сущность, которые просто содержат поле идентификатора и текстовое поле.

Я все еще новичок в Основных данных, поэтому, надеюсь, у меня правильная терминология, но из различных примеров я пришел к следующему. (отмечая, что мне нужно, чтобы данные сохранялись после закрытия приложения).

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

Лучший ответ

0

Это то, что тебе нужно?

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

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

Популярное в этой категории

Популярные вопросы в этой категории