2014-09-25 2 views
2

У меня есть UITableView с прототипом UITableViewCell с идентификатором contact. В построителе интерфейса я правильно построил ячейку и установил все элементы в нужные теги. Когда я пытаюсь отредактировать UILabel в ячейке с тегом 101, используя cell.viewWithTag, метод возвращает nil. Кажется, это только проблема в iOS 8. Я использую раскадровки и Swift. Вот код в tableView:cellForRowAtIndexPath:viewWithTag возвращает nil для UITableViewCell

let contact = contacts[indexPath.row] 
println("Contact: \(contact)") 
cell = tableView.dequeueReusableCellWithIdentifier("contact") as UITableViewCell 
(cell.contentView.viewWithTag(101) as UILabel).text = contact["name"]! as String 
+0

Почему вниз голосование может спросить? – jamespick

+0

Это работает для меня в простом проекте. Попробуйте распечатать свой 'contact [" name "]', чтобы узнать, что в нем. Работает ли ваш контакт println? – Caroline

+0

Да, это правильно печатает – jamespick

ответ

5

пытаются использовать этот

let contact = contacts[indexPath.row] 
println("Contact: \(contact)") 
cell = tableView.dequeueReusableCellWithIdentifier("contact", forIndexPath: indexPath) as UITableViewCell 
(cell.contentView.viewWithTag(101) as UILabel).text = contact["name"]! as String 
+0

Я попробовал это, и это не сработало. Не могли бы вы объяснить разницу между методом, который я использовал, и этим методом? – jamespick

+0

Подождите, это просто сработало в другой ячейке, с которой у меня были проблемы. Странно, да? – jamespick

+0

На самом деле, я использую (cell.viewWithTag (3) как! UILabel) .text = "некоторый текст ..", который отлично работает. – OhadM

Смежные вопросы