дублированные / повторяющиеся клетки в табличном представлении - PullRequest
0 голосов
/ 07 июля 2019

У меня есть tableView, и по какой-то причине клетки повторяют себя. Я пытался понять это в течение некоторого времени, однако, я не смог.

мой код как

     override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {


     if indexPath.section == 1 {
     let mileRangeCell = MileRangeCell(style: .default, reuseIdentifier: nil)
         mileRangeCell.mileSlider.addTarget(self, action: #selector(handleMileChange), for: .valueChanged)
        let mile = user?.mileRange ?? SettingsViewController.defaultMile
        mileRangeCell.mileLabel.text = "Miles \(mile)"
        mileRangeCell.mileSlider.value = Float(mile)
        return mileRangeCell
    }


    if indexPath.section == 2 {
        let costRangeCell = AgeRangeCell(style: .default, reuseIdentifier: nil)
        costRangeCell.minSlider.addTarget(self, action: #selector(handleMinAgeChange), for: .valueChanged)
        costRangeCell.maxSlider.addTarget(self, action: #selector(handleMaxAgeChange), for: .valueChanged)
        let minAge = user?.minSeekingCost ?? SettingsViewController.defaultMinSeekingCost
        let maxAge = user?.maxSeekingCost ?? SettingsViewController.defaultMaxSeekingCost

        costRangeCell.minLabel.text = "Min $\(minAge)"
        costRangeCell.maxLabel.text = "Max $\(maxAge)"
        costRangeCell.minSlider.value = Float(minAge)
        costRangeCell.maxSlider.value = Float(maxAge)
        return costRangeCell
    }
    let cell = SettingsCell(style: .default, reuseIdentifier: nil)

    let uid = Auth.auth().currentUser?.uid

    Database.database().reference().child("users").child(uid!).observeSingleEvent(of: .value, with: { (snapshot) in

        guard let dictionary = snapshot.value as? [String : Any] else { return }

        let user = User(dictionary: dictionary as [String : AnyObject])

switch indexPath.section {

        case 3:

        cell.pntextField.placeholder = "Enter Phone"
        cell.pntextField.text = user.number
        cell.pntextField.addTarget(self, action: #selector(self.handlePhoneChange), for: .editingChanged)

        cell.textField.placeholder = "Enter Email"
        cell.textField.text = user.email
        cell.textField.addTarget(self, action: #selector(self.handleEmailChange), for: .editingChanged)

        cell.textField2.placeholder = "Enter Address"
        cell.textField2.text = user.address
        cell.textField2.addTarget(self, action: #selector(self.handleAddressChange), for: .editingChanged)

      case 4:

        cell.textField3.placeholder = "Enter Skills"
        cell.textField3.text = user.skills
        cell.textField3.addTarget(self, action: #selector(self.handleSkillsChange), for: .editingChanged)

        cell.textField4.placeholder = "Enter Education"
        cell.textField4.text = user.education
        cell.textField4.addTarget(self, action: #selector(self.handleEducationChange), for: .editingChanged)

        cell.textField5.placeholder = "Enter Bio"
        cell.textField5.text = user.bio
        cell.textField5.addTarget(self, action: #selector(self.handleBioChange), for: .editingChanged)

        }

}, withCancel: { (err) in
print("attempting to load information")

})
    return cell
}

в моем контроллере вида я вижу изображение, повторяющееся

повторение

Я только хочу, чтобы textViews были в первых двух ячейках. не повторяться в остальных из них. Я был бы очень признателен, если бы кто-то мог направить меня в нужное место.

...