2015-07-17 3 views
1

ошибка: TableViewController tickAction]: непризнанный селектор отправлен в экземпляр. Получил пользовательскую таблицу, каждая строка имеет кнопку (tickButton), связанную с функцией tickAction . код запускается до конца, а затем останавливается, прежде чем я вижу изменение изображения. новый для программирования, поэтому не уверен, что происходит.ошибка: непризнанный селектор отправлен в экземпляр

class TableViewController: UITableViewController { 

...

 cell.tickButton.tag = indexPath.row 
     cell.tickButton.addTarget(self, action:"tickAction", forControlEvents: .TouchUpInside) 

...

@IBAction func tickAction(sender: UIButton) { 


    println(sender.tag) 

    if (sender.selected) { 
     sender.setImage(UIImage(named:"Unchecked.png"), forState: .Normal) 
     sender.selected = false 

     //println(sender.selected) 
     println(thedeck.decks[sender.tag].status) 
     self.thedeck.decks[sender.tag].swap() 
     println(thedeck.decks[sender.tag].status) 

    } 
    else { 
     sender.setImage(UIImage(named:"Checked.png"), forState: .Normal) 
     sender.selected = true 

     //change card status 
     self.thedeck.decks[sender.tag].swap() 


     //for var index = 0; index <= 9; index++ { 
      //println(thedeck.decks[index].status) 


      } 

     } 
    } 
+0

Измените '' tickAction "' на '" tickAction: "' - вам не хватает двоеточия, потому что 'tickAction' принимает аргумент. – ABakerSmith

ответ

1

Ввод двоеточие после addTarget поэтому она становится:

addTarget(self, action:"tickAction:") 

Позволяет ему принимать параметр

Смежные вопросы