Как вернуть массив сущностей из основных данных за пределами класса представления Swift UI - PullRequest
0 голосов
/ 06 мая 2020

У меня есть запрос на выборку: @FetchRequest(entity: Solve.entity(), sortDescriptors: []) var solves: FetchedResults<Solve>

Один из моих атрибутов моей сущности (Solve) - это время (Double), и я пытаюсь найти 5 раз подряд, что при усредненном результате в лучшем среднем. Я написал эту функцию в представлении SwiftUI:

func getSolvesArray()-> [Solve]{
//Empty Base to initially fill the array with
let solve1 = Solve()
solve1.scramble = "R2 D' U' F2 D R2 D F2 D' L2 R' B L F L' D R U' L R'"
solve1.time = "00:00:00"
solve1.numTime = 9999.99
solve1.date = Date()
//Compares the current 5 solves to the best and if the current is a better average then the best, the current becomes the best
var bestAO5 = [solve1, solve1, solve1, solve1, solve1]
var currentAO5 = [solve1, solve1, solve1, solve1, solve1]
for solve in solves{
    currentAO5[0] = currentAO5[1]
    currentAO5[1] = currentAO5[2]
    currentAO5[2] = currentAO5[3]
    currentAO5[3] = currentAO5[4]
    currentAO5[4] = solve
    if(((currentAO5[0].numTime+currentAO5[1].numTime+currentAO5[2].numTime+currentAO5[3].numTime+currentAO5[4].numTime)/5) < ((bestAO5[0].numTime+bestAO5[1].numTime+bestAO5[2].numTime+bestAO5[3].numTime+bestAO5[4].numTime)/5)){
        bestAO5 = currentAO5
    }
}
return bestAO5 }

Эта функция должна возвращать массив из пяти решений в строке, которые приводят к наименьшему среднему значению, затем я запускаю это для каждого l oop: ForEach(getSolvesArray(), id: \.id){ solve in Text("\(solve.time ?? "Unknown")") }

Внутри списка {} для постоянного отображения, однако при запуске программы происходит сбой с этой ошибкой: Поток 1: Исключение: "- [Решить setScramble:]: нераспознанный селектор отправлен на instance 0x600003bb7a40 "

Кто-нибудь знает, как я могу go анализировать свои основные объекты данных таким способом? Я считаю, что моя проблема может заключаться в том, как я повторяю fetchRequest, поэтому, если кто-то знает, как преобразовать запрос на выборку в обычный массив Entity, это тоже было бы здорово. Спасибо!

...