GOODDUDE
@GOODDUDE
Swift Developer

Initializer for conditional binding must have Optional type, not 'Any'?

У меня есть массив в котором я храню имена юзеров. При попытке вывести имена в tableViewCell возникает ошибка -
Initializer for conditional binding must have Optional type, not 'Any'


Вот мой код

var usersIn = [] as NSMutableArray
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = UITableViewCell()
    let userList = usersIn[indexPath.row]

    if let username = userList {
        cell.textLabel?.text! = username as! String
    }

    return cell
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return usersIn.count
}


Мне кажется при запуске этой строки
if let username = userList {
        cell.textLabel?.text! = username as! String
    }
возникает ошибка.
  • Вопрос задан
  • 1362 просмотра
Решения вопроса 1
ManWithBear
@ManWithBear
Swift Adept, Prague
Зачем вам вообще там NSMutableArray? Сами стреляете себе в ногу.
var usersIn: [String] = []
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = UITableViewCell()
    cell.textLabel?.text = usersIn[indexPath.row]
    return cell
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return usersIn.count
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы