2016-04-09 2 views
2

Я получаю сообщение об ошибке IBoutlet tableView, говорящий «не может переопределить хранимое свойство tableView». Я не совсем уверен, что это значит, любая помощь будет оценена. импорт UIKitВид таблицы не работает

class UsersViewController: UITableViewController { 

    @IBOutlet var tableView: UITableView! 

    var users = ["Marc", "Mark" , "Louise", "Ahinga", "Amossi", "Kalenga"] 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
    } 

    override func numberOfSectionsInTableView(tableView: UITableView) -> Int { 
     // #warning Incomplete implementation, return the number of sections 
     return 1 
    } 

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

    override func tableView(tableView:UITableView, cellForRowAtIndexPath indexPath:NSIndexPath) -> UITableViewCell { 
     let cell = self.tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! userCell 
    } 

    override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 

    } 
} 

ответ

1

A UITableViewController поставляется с UITableView встроенный, точно названный tableView. В вставленном коде вы добавляете к нему дополнительный UITableView и даете ему то же имя. Об этом жалуется компилятор.

В теории, когда вы используете простой ваниль UITableViewController из раскадровки, вы не должны связывать таблицу с IBOutlet. Об этом позаботились.

Если вы строите нечто более сложное, которое нуждается в дополнительном UITableViewController поверх того, что класс предоставляет в раскадровке, то вы должны называть его по-разному.

1

вы должны установить, как это delegate и dataSource в viewDidLoad() как этот

override func viewDidLoad() { 
    super.viewDidLoad() 

    self.tableView.delegate = self 
    self.tableView.dataSource = self 
} 
+0

Это не должно быть. «UITableViewController» соответствует по умолчанию с помощью 'UITableViewDelegate' и' UITableViewDataSource', а его «tableView» установлен на него. – catalandres

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