如何将文本字段中的数据推送到另一个 VC 中的标签
Posted
技术标签:
【中文标题】如何将文本字段中的数据推送到另一个 VC 中的标签【英文标题】:How to push data from textField to label in another VC 【发布时间】:2020-09-27 11:50:31 【问题描述】:我有带有 4 个标签和 4 个 goToVC 按钮的 mainVC,每个按钮使用 segue 来呈现另外 4 个 VC。每个 vc 都有 textField 和 doneButton。我想在 mainVC 标签中显示 textField 中的文本,并且我想使用委托。但相反,我得到了空标签。请帮忙。
委托.swift
protocol TextFieldDelegate
func didFinishTextField(text: String)
MainVC.swift
class MainViewController: UIViewController, TextFieldDelegate
@IBOutlet weak var redText: UILabel!
@IBOutlet weak var orangeText: UILabel!
@IBOutlet weak var pinkText: UILabel!
@IBOutlet weak var purpleText: UILabel!
var choosenLabel: UILabel?
override func viewDidLoad()
super.viewDidLoad()
override func prepare(for segue: UIStoryboardSegue, sender: Any?)
if segue.identifier == "toRedVC"
let vc = segue.destination as! RedViewController
vc.delegate = self
choosenLabel = redText
else if segue.identifier == "toOrangeVC"
let vc = segue.destination as! OrangeViewController
vc.delegate = self
choosenLabel = orangeText
else if segue.identifier == "toPinkVC"
let vc = segue.destination as! PinkViewController
vc.delegate = self
choosenLabel = pinkText
else if segue.identifier == "toPurpleVC"
let vc = segue.destination as! PurpleViewController
vc.delegate = self
choosenLabel = purpleText
func didFinishTextField(text: String)
if let data = choosenLabel
data.text = text
@IBAction func redButton(_ sender: UIButton)
@IBAction func orangeButton(_ sender: UIButton)
@IBAction func pinkButton(_ sender: UIButton)
@IBAction func purpleButton(_ sender: UIButton)
RedVC(其他3个相同).swift
class RedViewController: UIViewController
var delegate: TextFieldDelegate?
var textVar: String = ""
override func viewDidLoad()
super.viewDidLoad()
// Do any additional setup after loading the view.
@IBAction func textField(_ sender: UITextField)
if let data = sender.text
textVar = data
@IBAction func doneButton(_ sender: UIButton)
delegate?.didFinishTextField(text: textVar)
dismiss(animated: true, completion: nil)
【问题讨论】:
看起来您正在向 mainVC 发送空字符串。使用 delegate?.didFinishTextField(text: textfield.text).make 你在 redVC 中创建 textfield 的出口 【参考方案1】:您的代码似乎一切正常。我建议您检查您的文本字段的操作是否在 ViewController 中设置为 editingChanged。
【讨论】:
以上是关于如何将文本字段中的数据推送到另一个 VC 中的标签的主要内容,如果未能解决你的问题,请参考以下文章
ViewController 将 Swift 从一个 VC 推送到另一个 VC 并返回
如何从 Cake 构建任务将标签推送到 Bamboo 中的 Bitbucket Git 存储库?
如何使用动画概念将一个 UIview 推送到 ios 中的另一个 UIview?