Невозможно выполнить переход при нажатии кнопки внутри ячейки таблицы управления сегментами - PullRequest
2 голосов
/ 14 октября 2019

enter image description here

Я могу получить сообщения в сегментном контроле в соответствии с приведенным ниже ссылочным номером, в ячейке сообщений есть кнопка комментария, при нажатии которой выдается эта ошибкаиз «Ссылки на документы должны иметь четное количество сегментов, но записи имеют 1» »

снимок экрана с экраном, также прикрепленный здесь

Я проверил много похожих вопросов, все они указали на ссылку на документошибка, но если doc ref неверен, то как он извлекает список в табличном представлении и выдает ошибку при нажатии кнопки.

    let postsRef = Firestore.firestore().collection("posts").whereField("post_author_id", isEqualTo: Auth.auth().currentUser!.uid
                ).whereField("l3", isEqualTo: false).limit(to: 50)

cell code

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "MyCell", for: indexPath) as! PostCell
        switch segmentControl.selectedSegmentIndex{
        case 0:
            cell.Mpost1 = post1[indexPath.row]
            cell.commentbutton.tag = indexPath.row
            cell.commentbutton.addTarget(self, action: #selector(toComments(_:)), for: .touchUpInside)

            break
        case 1:
            cell.Mpost2 = post2[indexPath.row]
            break

        default:
            break
        }
        return cell
    }

    @objc func toComments(_ sender: AnyObject) {

        let commentbutton = sender as! UIButton
        let post = pendingPost[commentbutton.tag]
        postKey = post._documentId // or what key value it is
        print("hello")
       performSegue(withIdentifier: "toCommentsList2", sender: self)

    }

1 Ответ

3 голосов
/ 14 октября 2019

В вашей раскадровке убедитесь, что переход от VC1 к VC2 , а не от Button к VC2 .

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

Firebase Cloud Firestore: Неверная ссылка на коллекцию. Ссылки на коллекцию должны иметь нечетное количество сегментов

Ссылка на документ должна содержать четное количество сегментов, ошибка в ссылке на коллекцию

Firebase Invalid documentссылка. Ссылки на документы должны иметь четное количество сегментов

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