我一直在搜索最近两天来解决此问题。那我有问题的代码部分是:[say practiceLabelVar gets the value optional(Goldfish)]
iOS标签不会更新字符串值的文本,但打印字符串在Swift中正常工作
class PracticeTyping: UIViewController {
@IBOutlet weak var practiceLabel: UILabel!
var practiceLabelVar: String?
var x = "test"
override func viewDidLoad() {
super.viewDidLoad()
if let newPracticeLabelVar = practiceLabelVar {
self.practiceLabel.text = newPracticeLabelVar
print ("\(newPracticeLabelVar)")
x = newPracticeLabelVar
} else {
print ("\(x)")
}
}
}
我得到的输出是在控制台如下:
test
Goldfish
注:代码打印在别的价值语句然后在if语句中打印代码。
practiceLabel.text
没有改变并保持其默认值。
请帮忙。 感谢
你在哪里分配“金鱼”练习标签变量?这是因为你没有给练习变量变量赋予任何值。 – dRAGONAIR
我在另一个视图中从表视图控制器分配值金鱼。当我点击一个按钮@IBAction FUNC practiceTyping(_发件人:任意){ performSegue(withIdentifier: “practiceTypingSegue”,发件人:个体经营) 让PracticeTypingVar:PracticeTyping = self.storyboard .instantiateViewController(withIdentifier:“PracticeTypingView “)as! PracticeTyping PracticeTypingVar.practiceLabelVar = myFavoriteAnimals [(发送者作为AnyObject).TAG]。名称 self.present(PracticeTypingVar,动画:真,完成:无) } – Amr