Estou tentando excluir uma linha de minha fonte de dados e a seguinte linha de código:
if let tv = tableView {
causa o seguinte erro:
O inicializador para ligação condicional deve ter tipo opcional, não UITableView
Aqui está o código 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)
Como devo corrigir o seguinte?
if let tv = tableView {
variable with getter/setter cannot have an initial value
, que foi resolvido simplesmente removendo o bloco restante {} após a inicialização, com esta resposta: stackoverflow.com/a/36002958/4544328
tableView
não é um valor opcional, não há necessidade de verificar se é nulo ou não. Então você pode usá-lo diretamente, quero dizer, remover issoif let
e apenas usartableView
na função