6.0.1 и изменения таблицы "UILabel? Не имеет члена с именем" текст ",
Я работаю над демонстрационными примерами Swift, и все они имеют такое же сообщение об ошибке в разделе 6.0.1. Не знаете, как это решить:
![enter image description here]()
Ответы
Ответ 1
попробуйте следующее:
cell.textLabel!.text = self.tableData[indexPath.row]
И прочитайте эту статью о вариантах здесь: Опции в Swift
Update:
Теперь лучше использовать более удобный подход:
cell.textLabel?.text = self.tableData[indexPath.row]
Ответ 2
В Xcode 6.1.1 вам необходимо развернуть ячейку и textLabel:
cell!.textLabel!.text = "ваш текст"
Ответ 3
Если вы просмотрите документацию свойств textLabel
здесь, вы найдете ее как:
var textLabel: UILabel? { get }
Это означает, что свойство является необязательным. Это означает, что оно может содержать допустимое значение или оно может быть нулем. Если вы на 100% уверены, что ваша ячейка будет заполнена этим textLabel, вы можете использовать метод, предложенный derdida i.e:
cell.textLabel!.text = self.tableData[indexPath.row]
Однако, как справедливо указал Патрик Линч, вы просто настраиваете себя на будущие сбои во время выполнения (бомбы замедленного действия), если вы делаете это со всеми возможными случаями, с которыми вы сталкиваетесь. Лучшая практика заключается в написании кода, который будет изящно обрабатывать случай, когда Необязательный - это нуль. В этом случае целое выражение оценивается как nil. Что-то вроде этого:
cell.textLabel?.text = self.tableData[indexPath.row]
Хотя у меня нет инфографики для этой темы, очень хорошая рецензия существует здесь и позволит вам быстро дойти до скорости. Надеюсь, что это поможет.