ios - 为什么我以前的 viewController 中的变量不会显示在我的 labelText 中
问题描述
我是 Swift/Xcode 的新手,因为我知道其他编程语言,所以我有以前的知识,我试图在我的视图中将 textLabel 设置为:
emailLabel.text = "What's your email, " + firstName + "?"
这显示了文本的“你的电子邮件是什么”部分,但没有显示 firstName 变量。所以我尝试了这个:
emailLabel.text = "What's your email, \(firstName)?"
那也不起作用,我知道变量中有正确的值,因为我在运行应用程序时打印出变量。我不知道为什么它没有在 textField 中显示变量而只显示文本的第一部分。有什么帮助吗?
是的,textField 也足够大,可以容纳一个很长的变量,所以并不是没有足够的空间来显示它。我什至可以使用以下代码在 textField 中显示变量:
emailLabel.text = firstName
果然,它显示了正确的变量。
我正在从前一个视图控制器执行 Segue 以获取用户的名字,然后在第二个视图控制器中应用程序要求他们输入密码。我通过 segue 发送 firstName 变量,然后像往常一样将该变量存储在我的视图控制器中,当我打印出值并返回用户输入时,我知道该变量正在到达第二个视图控制器:
import UIKit
class SignupEmailViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var emailInputField: UITextField!
@IBOutlet weak var emailLabel: UITextView!
var firstName = ""
var surname = ""
override func viewDidLoad() {
super.viewDidLoad()
self.emailInputField.delegate = self
emailInputField.underlined()
print(firstName)
let emailText = "What’s your email, " + firstName + "?"
emailLabel.text = emailText
}
没有任何效果。
整个代码:
import UIKit
class SignupEmailViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var emailInputField: UITextField!
@IBOutlet weak var emailLabel: UITextView!
var firstName = ""
var surname = ""
override func viewDidLoad() {
super.viewDidLoad()
self.emailInputField.delegate = self
emailInputField.underlined()
print(firstName)
emailLabel.text = "What’s your email, " + firstName + "?"
}
@IBAction func next_pressed(_ sender: Any) {
}
}
解决方案
推荐阅读
- c# - 如何使用 linq 正确填充此字符串数组?
- node.js - npm 错误!appium-chromedriver@3.1.4 安装:`node install-npm.js`
- angular - 在 Angular 中为 Observable 创建过滤的主题
- java - Java / Android 循环 - 随机数据分配给 Android SDK 中的按钮
- c++ - 没有出现换行符
- python - 按key对value的词频求和并列出关联词
- react-native - 大型数据集的仅本地存储
- r - R Shiny DT - 以编程方式输入搜索文本
- sql-server - Mac 上的 SQL Operations Studio 无法连接到 SQL Server
- python - Python - isinstance() 没有像我预期的那样工作