致命错误:在将数组中的值分配给UILabel时解除可选值时意外发现nil

时间:2015-11-12 00:47:19

标签: ios arrays swift uilabel

这是我第一个ViewController中的代码

FirstViewController.

@IBOutletweakvar textField: UITextField!

array = [String]()

...

array.append(textField.text!)

...

overridefunc prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

let secondScene = segue.destinationViewController as! SecondViewController

secondScene.inputArray = inputArray

这是我第二个ViewController中的代码。

SecondViewController

@IBOutletweakvar label: UILabel!

array = [String]()

...

print(array) // getting the value that was input by the user

someLabel.text = array[0]  // on this line I am getting there error about getting nil

所以我在第一个场景中从textFields向数组输入值,我试图将第一个场景上用户输入的所有内容打印到第二个场景中的标签。当我尝试从数组中提取值并将其分配给Label.text时,它会给出错误:致命错误:在解包可选值时意外发现nil

我真的不知道为什么会这样。

1 个答案:

答案 0 :(得分:2)

如果我正确理解您的缩写代码,则会在array中填充FirstViewController,但会传递inputArray

SecondViewController中,您无法阅读inputArray,但array

您需要填充,传递和读取相同的数组。