I'm stuck with a
Cannot use mutating member on immutable value: function call returns immutable value
error on this chunk of code:
var bagsToScan: [BagQR] {
var initial: [Bag] = []
return TaskManager.shared.tasks.value
.filter({ $0.state == .ready })
.reduce(initial) { (acc, task) in
var bagQR = task.bags.filter({
!tasksChecked.contains(BagQR(bag: $0, taskName: task.name).taskName)
}).map({
BagQR(bag: $0, taskName: task.name)
})
acc.append(contentsOf: bagQR)
}.sort({ $0.bag.scanIndex < $1.bag.scanIndex })
}
The error is printed on the reduce(initial) { (acc, task) in line.
Thanks for your help!
return acc + bagQR. - Fabio Felici