Я пытаюсь перебрать массив, используя оператор for внутри функции cellForItemAt. Хотя у меня возникли проблемы, потому что мне нужно, чтобы оператор return существовал вне оператора for, но я не уверен, как это сделать правильно, и в то же время я могу выполнять итерацию по всему массиву задач, чтобы обеспечить выполнение только задач на нужные даты. добавить в соответствующие разделы. В текущем состоянии возвращается обычная taskCell, что, как я ожидаю, произойдет - я просто сделал это, чтобы отключить ошибку.
override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let taskCell = collectionView.dequeueReusableCell(withReuseIdentifier: "taskCellID", for: indexPath) as! TaskCell
let currentDate = Date()
let day = DateComponents(calendar: nil, timeZone: nil, era: nil, year: nil, month: nil, day: indexPath.section, hour: nil, minute: nil, second: nil, nanosecond: nil, weekday: nil, weekdayOrdinal: nil, quarter: nil, weekOfMonth: nil, weekOfYear: nil, yearForWeekOfYear: nil)
let date = Calendar.current.date(byAdding: day, to: currentDate)
for task in 0...(userTasks.count - 1) {
if userTasks[task].dueDate == date {
taskCell.myTask = userTasks[indexPath.item]
return taskCell
}
}
return taskCell
}