【发布时间】:2018-06-30 03:40:30
【问题描述】:
我的问题与这里的类似:Update label.text at runtime
我有一个视图控制器,其中包含一个带有一些文本字段的表格视图。当用户在透视文本字段中输入数量和金额时,我想在运行时按最终键盘上的返回后更新表格视图之外的标签
在做了一些研究之后,我意识到这将在单元格本身的文本字段委托的 textfieldDidEndEditing 函数中得到一些,但是我将如何从视图控制器访问标签文本以便我可以更新它?我将在下面提供我的代码。
import UIKit
import RealmSwift
class MaterialsCell: UITableViewCell, UITextFieldDelegate{
@IBOutlet weak var materialsDescription: UITextField!
@IBOutlet weak var materialsQuantity: UITextField!
@IBOutlet weak var materialsAmount: UITextField!
func saveMaterialsData() {
let saveMaterials = SPMaterialsRequest()
saveMaterials.setValue(self.materialsDescription!.text, forKey: "materialDescriptiopn")
saveMaterials.setValue(self.materialsQuantity!.text, forKey: "materialQuantity")
saveMaterials.setValue(self.materialsAmount!.text, forKey: "materialAmount")
let realm = try! Realm()
do {
try realm.write {
realm.add(saveMaterials)
print("added \(saveMaterials.materialDescription) to Realm Database")
print("added \(saveMaterials.materialQuantity) to Realm Database")
print("added \(saveMaterials.materialAmount) to Realm Database")
print("added \(saveMaterials.materialTotal) to Realm Database")
}
} catch {
print(error)
}
}
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
}
func textFieldDidEndEditing(_ textField: UITextField) {
}
}
import UIKit
import RealmSwift
class ServiceProMaterialsController: UIViewController, UITableViewDataSource, UITableViewDelegate {
@IBOutlet weak var materialsView: UITableView!
@IBOutlet weak var materialsTotal: UILabel!
var spMaterialsRequest: Results<SPMaterialsRequest>?
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cellIdentifier = "MaterialsCell"
guard let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as? MaterialsCell
else {
fatalError("Dequed Cell is not an instance of MaterialsCell")
}
cell.materialsDescription.text = ""
cell.materialsQuantity.text = ""
cell.materialsAmount.text = ""
return cell
}
}
【问题讨论】:
标签: ios swift uitableview uiviewcontroller