2015-08-20 4 views
1

Я реализовал ячейку NFXRipple, но теперь ячейки не перейдут к следующему представлению таблицы. Вот мой cellForRowAtIndexPath:Как исправить UITableViewCell segue

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
     let cell: NFXRippleCell = NFXRippleCell(style: UITableViewCellStyle.Default, reuseIdentifier: "Cell") 
     cell.textLabel?.text = aSport[indexPath.row].name 
     cell.backgroundColor = UIColor.whiteColor() 
     cell.textLabel?.font = UIFont(name: "HelveticaNeue", size: 16) 
     cell.textLabel?.textColor = UIColor.blackColor() 

     return cell 
} 

и мой prepareForSegue:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
     let cell = sender as! NFXRippleCellN 
     let row = tableView.indexPathForCell(cell)?.row 
     let detail = segue.destinationViewController as! SecondTableViewController 
     detail.selectedSport = aSport[row!] 
    } 

Что я должен настроить? или что-то мне не хватает?

UPDATE: ВОТ ОН-код в мой контроллер:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
     let cell: NFXRippleCell = NFXRippleCell(style: UITableViewCellStyle.Default, reuseIdentifier: "Cell") 
     cell.textLabel?.text = aSportl[indexPath.row].name 
     cell.textLabel?.text = aSport[indexPath.row].name 
     cell.backgroundColor = UIColor.clearColor() 
     cell.textLabel?.font = UIFont(name: "HelveticaNeue-Thin", size: 16) 
     cell.textLabel?.textColor = UIColor.whiteColor() 

     return cell 
    } 

    override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { performSegueWithIdentifier("firstSports", sender: self.tableView(tableView, cellForRowAtIndexPath: indexPath)) } 


    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
     let cell = sender as! NFXRippleCell 
     let row = tableView.indexPathForCell(cell)?.row 
     let detail = segue.destinationViewController as! SecondTableViewController 
     detail.selectedSchool = aSport[row!] 
    } 
+0

Это может быть глупый вопрос, но существует ли такая ситуация? Вызывается ли 'prepareForSegue'? – dmarsi

+0

ха? Я не понимаю @dmarsi –

+0

В вашей функции 'prepareForSegue' вы передаете отправителя в' NFXRippleCellN', это нормально? – Mindsers

ответ

0

Пробовали ли вы назвать программным непосредственно перейти? Возможно, решение состоит в том, чтобы использовать tableView(_: UITableView, didSelectRowAtIndexPath: NSIndexPath), чтобы позвонить в ваш сегмент.

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) 
{ 
    performSegueWithIdentifier("first", sender: self.tableView(tableView, cellForRowAtIndexPath: indexPath)) 
} 
+0

какой код должен идти в рамках этого метода для подготовки segue? –

+0

нет * готовность * но * производится *. Попробуйте 'performSegueWithIdentifier()'. Этот метод будет вызывать SEGUE и ваш 'метод prepareforSegue' – Mindsers

+0

никакого что не делало это –

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