gpt4 book ai didi

ios - UITableView 中的自定义单元格标签未填充

转载 作者:行者123 更新时间:2023-11-29 01:19:52 26 4
gpt4 key购买 nike

在我的 Storyboard上有一个带有两个 View Controller 的选项卡栏 Controller 。第一个 View Controller 有一个 UITableView,第二个 View Controller 用于收集数据,这些数据将以表格 View 格式显示在第一个 View Controller 上。

为此,我创建了四个 swift 文件:

  1. TARISKTREATMENT.swift - 包含链接到第一个 View Controller (带有 UITableView 的 View Controller )的类 TARISKTREATMENT

  2. TAADDRISKTREATMENT.swift - 包含链接到第二个 View Controller 的类 TAADDRISKTREATMENT。

  3. TREATMENTS.swift - 用于收集在第二个 View Controller 上输入的数据的结构。

  4. CUSTOMTREATMENTCELL.swift - 自定义单元格的 UITableViewCell 类。

第二个 View Controller 完美地收集了来自用户的数据,当我运行打印命令时,我可以看到数据实际上在结构中。

出于某种原因,TARISKTREATMENT.swift 中的代码没有填充自定义单元格。

我在这里做错了什么?

代码:TARISKTREATMENT.swift(带有 UITableView 的 View Controller 1 - 那个不工作的...)

import UIKit

class TARISKTREATMENT: UIViewController, UITableViewDataSource, UITableViewDelegate {

@IBOutlet weak var TreatmentsTableView: UITableView!

override func viewDidLoad() {
super.viewDidLoad()

TreatmentsTableView.dataSource = self
TreatmentsTableView.delegate = self
TreatmentsTableView.reloadData()

}//END - viewDidLoad

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return TreatmentsManager.newTreatments.count
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

let IndividualCell = TreatmentsTableView.dequeueReusableCellWithIdentifier("TreatmentCell", forIndexPath: indexPath) as! CUSTOMTREATMENTCELL

IndividualCell.outletLabel_TreatmentPackageName.text = TreatmentsManager.newTreatments[indexPath.row].varTreatmentPackageName

IndividualCell.outletLabel_TreatmentDescription.text = TreatmentsManager.newTreatments[indexPath.row].varTreatmentPackageDetail

IndividualCell.outletLabel_TreatmentResponsiblePerson.text = TreatmentsManager.newTreatments[indexPath.row].varTreatmentResponsiblePerson

IndividualCell.outletLabel_TreatmentDTGCompleted.text = String(TreatmentsManager.newTreatments[indexPath.row].varTreatmentDTGCompleted)

let varSelectPriorityPic = TreatmentsManager.newTreatments[indexPath.row].varTreatmentPriority

switch varSelectPriorityPic {
case "HIGH":
IndividualCell.outletImage_TreatmentPriority.image = imageTreatmentPriorityHigh
case "MEDIUM":
IndividualCell.outletImage_TreatmentPriority.image = imageTreatmentPriorityMedium
case "LOW":
IndividualCell.outletImage_TreatmentPriority.image = imageTreatmentPriorityLow
default:
break
}
return IndividualCell
}

func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath){
if (editingStyle == UITableViewCellEditingStyle.Delete){

TreatmentsManager.newTreatments.removeAtIndex(indexPath.row)
TreatmentsTableView.reloadData()
}
}
}

代码:TREATMENTS.swift

import UIKit

var TreatmentsManager: classTreatmentsManager = classTreatmentsManager()

struct structTreatment {
var varTreatmentPackageName : String
var varTreatmentPackageDetail : String
var varTreatmentResponsiblePerson : String
var varTreatmentPriority : String
var varTreatmentDTGCompleted : NSDate
}

class classTreatmentsManager: NSObject {

var newTreatments = [structTreatment]()

func funcAddTreatment(varTreatmentPackageName: String, varTreatmentPackageDetail: String, varTreatmentResponsiblePerson: String, varTreatmentPriority: String, varTreatmentDTGCompleted: NSDate){

newTreatments.append(structTreatment(varTreatmentPackageName: varTreatmentPackageName, varTreatmentPackageDetail: varTreatmentPackageDetail, varTreatmentResponsiblePerson: varTreatmentResponsiblePerson, varTreatmentPriority: varTreatmentPriority, varTreatmentDTGCompleted: varTreatmentDTGCompleted))
}
}

代码:CUSTOMTREATMENTCELL.swift

import UIKit

class CUSTOMTREATMENTCELL: UITableViewCell {

@IBOutlet weak var outletImage_TreatmentPriority: UIImageView!

@IBOutlet weak var outletLabel_TreatmentPackageName: UILabel!

@IBOutlet weak var outletLabel_TreatmentDescription: UILabel!

@IBOutlet weak var outletLabel_TreatmentResponsiblePerson: UILabel!

@IBOutlet weak var outletLabel_TreatmentDTGCompleted: UILabel!

override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}

override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)

// Configure the view for the selected state
}
}

我上传了一个小视频来展示正在(未)发生的事情 here .

感谢您的帮助 - 谢谢!

最佳答案

您的代码中的一切都很好。您错过的是重新加载数据:

 override func viewWillAppear() {
super.viewWillAppear()
TreatmentsTableView.reloadData()
}

关于ios - UITableView 中的自定义单元格标签未填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34748807/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com