Я создаю приложение iOS для регистрации оценок, которое принимает вводимые пользователем оценки и сохраняет их в массиве.Затем в отдельном представлении все оценки выкладываются в таблицу ячеек.Я хотел бы создавать новую ячейку каждый раз, когда пользователь вводит новую оценку, вместо того, чтобы ячейки в настоящее время отображались как жестко заданные конкретные ячейки.
Я думал, что можно создать какой-то цикл for ...но я не знаю, как это сделать.
struct MyVariables {
static var physicsExamGradesArray = [Double]()
static var GradeArray = [Double]()
static let classesOption = ["Choose Class", "Physics", "Math"]
static let assignmentOption = ["Choose Type","Exam", "Quiz", "Homework"]
static var physicsGradesArray = [Double]()
}
import UIKit
class GradeLogViewController: UIViewController {
@IBOutlet var tableView: UITableView!
var gradesCellsToBeDisplayed: [GradeProperties] = []
override func viewDidLoad() {
super.viewDidLoad()
gradesCellsToBeDisplayed = createArray()
}
}
func createArray() -> [GradeProperties] {
var grades: [GradeProperties] = []
let grade1 = GradeProperties(assignmentClass: "Physics", assignmentType: "Exam", assignmentIndex: 1, assignmentGrade: MyVariables.physicsExamGradeArray[0])
let grade2 = GradeProperties(assignmentClass: "Physics", assignmentType: "Exam", assignmentIndex: 2, assignmentGrade: MyVariables.physicsExamGradeArray[1])
grades.append(grade1)
grades.append(grade2)
return grades
}
extension GradeLogViewController: UITableViewDataSource, UITableViewDelegate {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return gradesCellsToBeDisplayed.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let displayedGrade = gradesCellsToBeDisplayed[indexPath.row]
let cell = tableView.dequeueReusableCell(withIdentifier: "PhysicsCell") as! PhysicsCell
cell.setContents(grade: displayedGrade)
return cell
}
}
Прямо сейчас у меня есть жестко закодированные две ячейки оценок ... но я хотел бы, чтобы ячейки автоматически генерировались на основе количества введенных оценок...
- EDIT -
Пользователь вводит свои оценки через UITextField, а значения передаются в переменные, показанные в struct MyVariables
.