Sto cercando di eliminare una riga dalla mia origine dati e la seguente riga di codice:condizionale Binding: se l'errore lasciare - Initializer per legame condizionale deve avere tipo opzionale
if let tv = tableView {
provoca il seguente errore:
Initializer for conditional binding must have Optional type, not UITableView
Ecco il codice completo:
// Override to support editing the table view.
func tableView(tableView: UITableView, commitEditingStyle editingStyle:UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
if editingStyle == .Delete {
// Delete the row from the data source
if let tv = tableView {
myData.removeAtIndex(indexPath.row)
tv.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Fade)
Come devo correggere la fol muggito?
if let tv = tableView {
poiché 'tableView' non è un valore facoltativo, non è necessario verificare se è nullo o meno. Quindi puoi usarlo direttamente, voglio dire rimuovere 'se lasciato' e usare solo 'tableView' nella funzione –
Ciao, grazie Manny per la tua risposta. –
Per i posteri, dopo aver risolto questo problema, mi sono imbattuto in 'variabile con getter/setter non può avere un valore iniziale', che è stato risolto rimuovendo semplicemente il blocco {} rimanente dopo l'inizializzazione, ala questa risposta: http: // stackoverflow .com/a/36002958/4544328 –