Boa noite,
Estou com uma pequena dúvida no quesito de utilização dos Optionals. Segundo o video 02 da Aula 04, foi utilizado o "?" para declarar os atributos da classe Meal como optionals e também foi introduzida a utilização da "!" para "forçar" o acesso a um valor optional.
Porém nos primeiros vídeos quando foi introduzido o @IBOutlet também foram declarados 2 Optionals para simbolizar os campos da tela usando a "!".
Como apresentado no código abaixo, minha dúvida é, qual a diferença em usar o ? e o ! nas declarações tanto na Class quanto nos @IBOutlets? Testei no playground e vi que não fez nenhuma diferença em usar a ? ou a !, e isso acabou me confundindo um pouco.
Poderiam me ajudar?
Grato
class Meal {
var name : String?
var happiness : Int?
}
// Definição dos @IBOutlets
@IBOutlet var nameField : UITextField!
@IBOutlet var happinessField : UITextField!