所以我一直在努力学习之后,迅速清理和我所遇到的问题,并已经让我坚持了一段时间。我使用seques将第一个控制器的数据传递给第二个控制器。顺利通过Segue公司不断变化的负载
当我打印变量的onLoad它打印出来传递正确的价值观,但是在我执行其他功能(点击一个红色按钮)不会打印出传递的值,而是空值。
var Level = 0;
var userId: String = "";
var clanId: String = "";
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
print(userId); //prints 97
print(clanId); //prins 2
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func redButtonClick(sender: AnyObject) {
print(userId); //prints ""
print(clanId); //prins ""
}
正如你可以在代码中看到它似乎有什么东西很简单,但很明显,我很想念它是如何工作的onload事件后的变量包含没有在其中。
谢谢大家的帮助!
------------------编辑----------------------
已更改值用户id:字符串= “测试” 更改的值clanId:字符串= “测试”
现在打印出在有载功能
print(userId)
print(clanId)
results:
97
2
test
test
------------ ----加成-----------
@IBAction func loginButton(sender: AnyObject) {
self.performSegueWithIdentifier("dashboard", sender: self);
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if(segue.identifier == "dashboard")
{
let dutydash:dashboardController = segue.destinationViewController as! dashboardController;
dutydash.userId = self.userId;
dutydash.clanId = self.clanId;
}
}
,你试过没有initializating帐户及clanId? ('var userId:String!var clanId:String!')当点击按钮时,它们可能会重置为其原始值? – kye
使我收到此这些变化后: 致命错误:意外发现零而展开的可选值 然后,如果我添加了一个?代替 !我得到的输出92,2,零,零 – user5600884
请从第一控制器,当和大家分享一些代码,你如何Segue公司到目的地 – AamirR