quando uso il seguente codice e hanno nameTextField essere "Jeffrey" (o qualsiasi altro nome)Visualizzazione interpolazione stringa rapida opzionale?
@IBAction func helloWorldAction(nameTextField: UITextField) {
nameLabel.text = "Hello, \(nameTextField.text)"
}
nameLabel display ... Ciao, opzionale ("Jeffrey")
Ma, quando cambio il codice precedente per includere un "!" in questo modo:
@IBAction func helloWorldAction(nameTextField: UITextField) {
nameLabel.text = "Hello, \(nameTextField.text!)"
}
Il codice funziona come previsto e nameLabel mostra .... Ciao, Jeffrey
Perché è il "!" richiesto, nel tutorial video che ho usato per creare questo semplice programma non ha usato il "!" e il programma ha funzionato come previsto.
Perfetto, grazie! –
Questa sembra una scelta di design terribile dai creatori di Swif per l'interpolazione delle stringhe. Non conosco nessun altro linguaggio che faccia questo. È più sensato stampare il valore da scartare se esiste, altrimenti stampare in bianco o zero. Oppure non consentire gli optionals all'interno dell'interpolazione di stringhe. Questo ha causato tonnellate di bug per noi. – bobics