Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Aula 1.6 IOS 2 - Erro no Return "string is not convertible to string"

Galera, estou apanhando para terminar essa parte da aula, preciso de ajuda: No código abaixo, quando eu peço para retornar a célula o Xcode apresenta o erro: string is not convertible to string. Não sei como resolver.

class Contato: UITableViewController {

    let contatos = [("Teste pessoa 1","numero pessoa 1", "email pessoa 1"),
                              ("nome pessoa 2", "numero pessoa2", "email pessoa 2"),
                                 ("nome pessoa 3", "numero pessoa3", "email pessoa3")]

    override func viewDidLoad() {
        super.viewDidLoad()
    }

        override func tableView(tableView: UITableView, numberOfRowsInSection: Int) -> Int{
            return contatos.count
        }

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let row = indexPath.row
        let contato = contatos[row]

        let cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: nil)
        cell.textLabel?.text = contato (Aqui dá o erro!)
        return cell
    }
2 respostas
solução!

Achei o problema, aparentemente o Xcode estava bugado. Problema resolvido.

Cristiano, seu código funcionou sem você alterar nada nele?

Pois o text do textLabel de uma UITableViewCell se não me engano espera receber somente alguma coisa do tipo String, mas como seu "contatos" é um array de array de String (ou array multidimensional de String), ao fazer...

cell.textLabel?.text = contato

... na verdade você está passando um array de String para o text do label da célula, e acho que ele não sabe lidar com isso.

Então em seu código, "cell.textLabel?.text" está recebendo ("Teste pessoa 1", "numero pessoa 1", "email pessoa 1"), ou ("Teste pessoa 2", "numero pessoa 2", "email pessoa 2"), etc.