Setting up a UILabel in Swift I can do the following

```
@IBOutlet var wLabel: UILabel!

```

or 

```
@IBOutlet var wLabel: UILabel?

```

Setting the text I can either do

```
wLabel.text = "..."

```

or, for the latter do

```
wLabel?.text = "..." // with a question mark for the optional

```

Keeping them optional will help for the case when they are unexpectedly nil as it will just skip this call then and go ahead with the code. Having them declared with the `!` would crash the app if the label was nil.

Now why would you not make everything optional? The only reason I could think of would be for better performance. Should I stay away from having them optional if my app has a lot of UI elements so them being optional would mean a disadvantage regarding performance? I wasn't able to find any information on this anyhere.