UITableView Ячейка, выбирающая ошибки: ячейка изменяет текст, не может отменить выбор строки?

Я пытаюсь создать простую игру на совпадение в быстром, используя UITableView, где вы должны сопоставить тип лодки с определением этого типа лодки. По сути, сейчас все перепутано с игрой. Стиль ячеек установлен на простой. Вот код для методов, которые могут вызывать проблемы:

var currentSelectedText = "None"
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    let cell = self.tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell
    switch cell.textLabel.text! as String {
    case "Used to carry the pharoah":
        currentSelectedText = "Used to carry the pharoah"
    case "Used to carry bodies as a ceremony":
        currentSelectedText = "Used to carry bodies as a ceremony"
    case "Had a flat deck to carry a farmer's treasure":
        currentSelectedText = "Had a flat deck to carry a farmer's treasure"
    case "Daily, it made a trip around the world to carry Ra":
        currentSelectedText = "Daily, it made a trip around the world to carry Ra"
    case "Towed by smaller boats, carrying heavy objects":
        currentSelectedText = "Towed by smaller boats, carrying heavy objects"
    case "Used for business and pleasure by officials/nobles":
        currentSelectedText = "Used for business and pleasure by officials/nobles"
    case "Carried most Egyptians and some goods":
        currentSelectedText = "Carried most Egyptians and some goods"
    default:
        currentSelectedText = "None"
    }
    switch indexPath.row {
    case 7:
        switch cell.textLabel.text! as String {
        case "Ferry":
            if currentSelectedText == "Carried most Egyptians and some goods" {
                cell.textLabel.text = "Correct"
                cell.textLabel.textColor = UIColor.greenColor()
            } else if currentSelectedText == "None" {
            } else {
                performSegueWithIdentifier("Game End", sender: self)
            }
        case "Funeral Barge":
            if currentSelectedText == "Used to carry bodies as a ceremony" {
                cell.textLabel.text = "Correct"
                cell.textLabel.textColor = UIColor.greenColor()
            } else if currentSelectedText == "None" {
            } else {
                performSegueWithIdentifier("Game End", sender: self)
            }
        case "Cargo Boat":
            if currentSelectedText == "Towed by smaller boats, carrying heavy objects" {
                cell.textLabel.text = "Correct"
                cell.textLabel.textColor = UIColor.greenColor()
            } else if currentSelectedText == "None" {
            } else {
                performSegueWithIdentifier("Game End", sender: self)
            }

У меня есть еще много случаев для ряда, вплоть до 13 строки (case 8, case 9, case 10 . . .). У меня также есть больше типов лодок (у меня есть 7 типов лодок). У меня также есть метод, когда строка отменяется:

override func tableView(tableView: UITableView, didDeselectRowAtIndexPath indexPath: NSIndexPath) {
    currentSelectedText = "None"
}

Помните, что стиль ячейки установлен равным. Проблемы:

  1. Текст ячейки меняется на "Заголовок", когда я выбираю его.
  2. Я не могу отменить выделение строк
  3. Если есть что-то, что не подходит для соответствующей игры с UITableView, я был бы признателен, если бы вы перечислили, что я могу сделать, чтобы решить эту проблему.

Если есть еще код, который мне нужно предоставить, дайте мне знать. Спасибо!

0 ответов

Другие вопросы по тегам