2015-01-08 2 views
1

Я в основном пытаюсь делать то, что в этой ссылкеdequeueReusableCellWithIdentifier продолжает возвращаться нолем

How to Implement Custom Table View Section Headers and Footers with Storyboard

В моей раскадровке, я внедренный статические клетки в моем TableViewController

Я выбрал одну из своих ячеек таблицы просмотра и установил идентификатор как «CustomHeader» (на раскадровке)

и ниже фрагмент моего кода

override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { 
     var headerView:UITableViewCell? = tableView.dequeueReusableCellWithIdentifier("CustomHeader") as? UITableViewCell 

     if (headerView == nil){ 
      println("errrrrrr") 
     } 
     return headerView 
    } 
    override func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { 
     return 30 
    } 

Однако, консоль поддерживает печать «errrrrrr» означает, что headerView равна нулю.

Но я думаю, чей идентификатор «CustomHeader» не может быть nil, потому что я вручную выбрал ячейку и установил ее идентификатор как CustomHeader в раскадровке!

Я новичок в iOS, поэтому я не понимаю, в чем проблема.

Любая помощь приветствуется.

Заранее благодарен!

ответ

7

Чтобы удалить ячейку из раскадровки, вам необходимо использовать метод, который принимает указательный путь. То есть, не используйте:

dequeueReusableCellWithIdentifier(_:) 

Вместо этого используйте:

dequeueReusableCellWithIdentifier(_:forIndexPath:) 

Hacky подход в вопросе вы связаны больше не работает. Этот метод возвращает заголовок. Не удаляйте ячейку.

Вы должны использовать registerNib(_:forHeaderFooterViewReuseIdentifier:) или registerClass(_:forHeaderFooterViewReuseIdentifier:) и dequeueReusableHeaderFooterViewWithIdentifier(_:), как задокументировано.

+0

Спасибо! Если бы вы не сказали мне, что подход в моей ссылке уже недействителен, я бы потратил много времени! Я реализовал иначе! – kwmaeng

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