2016-10-13 2 views
0

У меня возникла проблема с попыткой показать массив изображений в каждой ячейке для представления таблицы.Как установить свойство UIImageView.image в UITableViewCell

У меня есть отдельный файл TableViewCell Swift, в котором у меня есть UIImage на связанной ячейке. Выходное отверстие называется: CellVenueImage

По какой-то причине, когда я пытаюсь реализовать изображение на моем контроллере представления TableView, я получаю сообщение об ошибке, которая говорит: Value of type 'TableViewCell' has no member 'CellVenueImage'

Вот строка, в которой это происходит:

cell.CellVenueImage.image = imagename 

Использование Swift 3.

Вот код для TableView:

import UIKit 

class VenueTableViewController: UITableViewController { 


let VenueImageList = ["1970s.png","1980s.png","1990s.png"] 

override func viewDidLoad() { 
    super.viewDidLoad() 


} 

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

// MARK: - Table view data source 

override func numberOfSections(in tableView: UITableView) -> Int { 
    return 1 
} 

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return VenueImageList.count 
} 


override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCell(withIdentifier: "VenueCell", for: indexPath) as! TableViewCell 

    let imagename = UIImage(named: VenueImageList[indexPath.row]) 
    cell.CellVenueImage.image = imagename 

    return cell 
} 

TableViewCell код:

import UIKit 

class VenuesTableViewCell: UITableViewCell { 

@IBOutlet weak var CellVenueImage: UIImageView! 

override func awakeFromNib() { 
    super.awakeFromNib() 
    // Initialization code 
} 

override func setSelected(_ selected: Bool, animated: Bool) { 
    super.setSelected(selected, animated: animated) 

    // Configure the view for the selected state 
} 
+0

код TableViewCell пожалуйста – zombie

+0

@zombie Added, спасибо! – Miles

ответ

0

Ошибка заключается в том, что вы не используете ваш созданный TableViewCell Подкласс, вы используете регулярные UITableViewCell.

let cell = tableView.dequeueReusableCell(withIdentifier: "VenueCell", for: indexPath) as! TableViewCell 

Вам необходимо указать его в качестве подкласса UITableViewCell.

Если это называется «VenuesTableViewCell», например: class VenuesTableViewCell: UITableViewCell {, затем введите его как VenuesTableViewCell.

let cell = tableView.dequeueReusableCell(withIdentifier: "VenueCell", for: indexPath) as! VenuesTableViewCell 
+0

Это исправлено! Большое спасибо. – Miles

+0

Исправление: let cell = tableView.dequeueReusableCell (withIdentifier: «VenueCell», для: indexPath) как! VenuesTableViewCell вместо: as! VenueCell – Miles

+0

Да, это было то, что я пытался рассказать вам с объяснением :) Рад помочь –

0
let cell = tableView.dequeueReusableCell(withIdentifier: "VenueCell", for: indexPath) as! VenuesTableViewCell 
+0

Отлично работает, спасибо. – Miles

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