2015-03-22 4 views
0

У меня есть следующий класс в приложении singleview. В IB я подключил источник данных и datadelegate к представлению таблицы. Есть ли что-то, что я делаю неправильно, что никто из делегатов tableview не запускается?Почему делегат таблицы не работает?

Идентификатор ячейки установлен в IB.

import UIKit 

class ViewController: UITableViewController { 

    let myarray = ["item 1", "item 2", "item 3", "item 4"] 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
     let cell:UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "test") 
     cell.textLabel?.text = myarray[indexPath.item] 
     return cell; 
    } 


    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     return 4 
    } 

} 

В ИБ есть уже прототип ячейки.

Еще одна вещь, видDidLoad() даже не срабатывает.

ответ

1

Предполагается, что вы должны деактивировать ячейки в cellForRowAtIndexPath. В раскадровке добавьте в таблицу UITableViewCell, если ее уже нет, и вы увидите ячейку прототипа. Убедитесь, что идентификатор прототипа является «тестом», как в вашем коде.

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    var cell:UITableViewCell = tableView.dequeueReusableCellWithIdentifier("test") as UITableViewCell 

    cell.textLabel?.text = self.myarray[indexPath.row] 

    return cell 
} 
+0

Существует уже прототип ячейки. – 4thSpace

+0

Хорошо, проверьте идентификатор ячейки прототипа, а также измените метод, как описано выше. –

+0

Как упоминалось в OP, идентификатор есть. Каким должен быть метод? – 4thSpace

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