Определите новую переменную для каждого индекса массива - PullRequest
0 голосов
/ 27 июня 2019

Я создаю приложение 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...