2016-02-16 5 views
0

У меня есть табличный вид со статическими ячейками (показано ниже). enter image description hereDidSelectRowAtIndexPath не работает в Swift 2.0

Я хочу, чтобы мое приложение регистрировало текущего пользователя, когда они выбирают выход из системы, очевидно. Для числа разделов у меня есть следующий код.

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     var rows: Int = 0 

     let numberOfRowsAtSection: [Int] = [2, 2, 1] 

     if section < numberOfRowsAtSection.count { 
      rows = numberOfRowsAtSection[section] 
     } 

     return rows 
    } 

Я обычно делать didSelectRowAtIndexPath, чтобы выйти из системы этого пользователя, поэтому я попытался следующий код.

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 

     if (indexPath.row) == 4 { 
      PFUser.logOut() 
      dismissViewControllerAnimated(true, completion: nil) 
     } 

    } 

Это не работает, потому что выход из системы на самом деле с индексом 0 поэтому, когда я нажимаю либо изменить профиль или о его входе меня, потому что есть 3 индекс 0 так сказать. Я точно не знаю, как я могу бороться с этой проблемой, я пробовал код выше без успеха - какие-то идеи?

ответ

3

Перепишите ваш didSelectRowAtIndexPath, как показано ниже:

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 

    if ((indexPath.section == 2) && (indexPath.row == 0)) { 
     PFUser.logOut() 
     dismissViewControllerAnimated(true, completion: nil) 
    } 
} 
1

Проверьте раздел и номер строки

if indexPath.section == 2 && indexPath.row == 0 { 
    /* do log out */ 
} 
Смежные вопросы