gpt4 book ai didi

ios - 有没有办法从表格 View 单元格的文本字段中获取值以在另一个表格 View 单元格中使用它?

转载 作者:搜寻专家 更新时间:2023-11-01 06:53:04 25 4
gpt4 key购买 nike

我正在开发一款销售鞋类产品的 iOS 电子商务应用。这个问题是关于结帐屏幕的,它是一个 UITableViewController,用于收集用户的账单信息并将其保存在 Firebase 中。

UITableViewController 下方包含两个自定义 UITableView 单元格。第一个单元格包含一些文本字段,用于从用户那里获取账单信息(电子邮件、卡号、到期日期和 CVC),而下面的第二个单元格包含一个提交按钮,用于将它们保存在 Firebase 中。

我的要求是从用户那里获取账单信息,并在单击“提交”按钮时将其保存在 Firebase 中。 (文本字段和提交按钮位于两个单独的 UITableView 单元格中)

你能帮我解决这个问题吗?请在下面找到代码片段。

CheckoutViewController.swift

class CheckoutTableViewController: UITableViewController {

// MARK: - Properties

var shoes : [Shoe]! {
didSet {
tableView.reloadData()
}
}

// MARK: - Structs

struct Storyboard {
static let billingInfoCell = "billingInfoCell"
static let submitButtonCell = "submitButtonCell"
}


override func viewDidLoad() {
super.viewDidLoad()
}

// MARK: - Data source

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 2
}

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

if indexPath.row == 0 {
let cell = tableView.dequeueReusableCell(withIdentifier: Storyboard.billingInfoCell, for: indexPath) as! BillingInfoTableViewCell // Contains billing information text fields
return cell
} else if indexPath.row == 1 {
let cell = tableView.dequeueReusableCell(withIdentifier: Storyboard.submitButtonCell, for: indexPath) as! SubmitButtonTableViewCell // Contains Submit button
return cell
} else {
return UITableViewCell()
}
}

}

BillingInfoTableViewCell.swift

class BillingInfoTableViewCell: UITableViewCell {

// MARK: - IBOutlets

@IBOutlet weak var emailTextField: UITextField!
@IBOutlet weak var cardNumberTextField: UITextField!
@IBOutlet weak var expirationDataTextField: UITextField!
@IBOutlet weak var securityNumberTextField: UITextField!


}

SubmitButtonTableViewCell.swift

class SubmitButtonTableViewCell: UITableViewCell {

// MARK: - IBActions
@IBAction func submitOrderButtonTapped(_ sender: UIButton) {
print("Submit button tapped!")
}

}

最佳答案

请按照以下步骤操作。

制作UITableView的导出

@IBOutlet weak var tableView: UITableView!

制作静态UITableviewCell

lazy var cellBillingInfo = tableView.dequeueReusableCell(withIdentifier: Storyboard.billingInfoCell) as! BillingInfoTableViewCell
lazy var cellSubmit = tableView.dequeueReusableCell(withIdentifier: Storyboard.submitButtonCell) as! SubmitButtonTableViewCell

如下所示为提交按钮添加目标。

cellSubmit.btnSumit.addTarget(self, action: #selector(submitOrderButtonTapped(_:).tou), for: .touchUpInside)

定义提交按钮方法

@objc func submitOrderButtonTapped(_ sender: UIButton) {
print(cellBillingInfo.emailTextField.text)
print(cellBillingInfo.cardNumberTextField.text)
print(cellBillingInfo.expirationDataTextField.text)
print(cellBillingInfo.securityNumberTextField.text)
}

最终代码:

class ViewController: UIViewController {

@IBOutlet weak var tableView: UITableView!
// MARK: - Properties

lazy var cellBillingInfo = tableView.dequeueReusableCell(withIdentifier: Storyboard.billingInfoCell) as! BillingInfoTableViewCell
lazy var cellSubmit = tableView.dequeueReusableCell(withIdentifier: Storyboard.submitButtonCell) as! SubmitButtonTableViewCell

var shoes : [Shoe]! {
didSet {
tableView.reloadData()
}
}

// MARK: - Structs

struct Storyboard {
static let billingInfoCell = "billingInfoCell"
static let submitButtonCell = "submitButtonCell"
}


override func viewDidLoad() {
super.viewDidLoad()
}

// MARK: - Data source

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 2
}

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

if indexPath.row == 0 {
return cellBillingInfo
} else if indexPath.row == 1 {
cellSubmit.btnSumit.addTarget(self, action: #selector(submitOrderButtonTapped(_:).tou), for: .touchUpInside)
return cellSubmit
} else {
return UITableViewCell()
}
}

@objc func submitOrderButtonTapped(_ sender: UIButton) {
print(cellBillingInfo.emailTextField.text)
print(cellBillingInfo.cardNumberTextField.text)
print(cellBillingInfo.expirationDataTextField.text)
print(cellBillingInfo.securityNumberTextField.text)
}
}

class SubmitButtonTableViewCell: UITableViewCell {
@IBOutlet weak var btnSumit: UIButton!
}

关于ios - 有没有办法从表格 View 单元格的文本字段中获取值以在另一个表格 View 单元格中使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55826905/

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