Iterasi melalui Core Data dengan for loop?

Oct 08 2020

Saya mencoba menambahkan semua pengeluaran yang sesuai dengan kategori tertentu di aplikasi pelacak pengeluaran.

        ForEach(fetchRequestExpense) { (expenselog: Expenses) in
                if category == expenselog.expenseCategory{
                    var sum += expenselog.expenseCost
                }
            }
        return sum
    }

Ini tidak akan bisa dikompilasi. Haruskah saya menggunakan loop for untuk jenis perhitungan ini?

Jawaban

1 Asperi Oct 09 2020 at 03:18

Ini ForEachadalah wadah tampilan dinamis untuk membangun tampilan SwiftUI, untuk aliran kontrol Anda harus menggunakan swift biasa for/in, seperti

var sum = 0.0
for expenselog in fetchRequestExpense {
    if category == expenselog.expenseCategory {
        sum += expenselog.expenseCost
    }
}
return sum
1 malhal Oct 09 2020 at 05:52

Biasanya Anda akan menggunakan @sumpermintaan pengambilan dan jenis hasil kamus:

https://developer.apple.com/documentation/coredata/nsfetchrequestresulttype/1506237-dictionaryresulttype

Lihat pertanyaan serupa ini:

Jumlah Data Inti dari semua atribut instance