Я пытаюсь заполнить TableViewController данными и отобразить их с помощью CustomCell, чтобы я мог иметь две метки и кнопку в каждой строке.TableViewController и CustomCell с использованием Swift
Я разместил две этикетки и кнопку в PrototypeCell в Главной раскадровке.
Я создал класс CustomCellTableViewCell:
import UIKit
class CustomCellTableViewCell: UITableViewCell {
@IBOutlet var customCellLabel1: [UILabel]!
@IBOutlet var customCellLabel2: [UILabel]!
@IBOutlet var CustomCellButton: [UIButton]!
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
}
}
и в моем UITableViewController у меня есть:
var DevicesList: Array<AnyObject>=[]
var ii: Int = 1
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let CellID : NSString = "DeviceCell"
var cell : CustomCellTableViewCell = tableView.dequeueReusableCellWithIdentifier(CellID) as CustomCellTableViewCell
if DevicesList.count > 0 {
var data: NSManagedObject = DevicesList[indexPath.row] as NSManagedObject
cell.customCellLabel1[indexPath.row].text = data.valueForKeyPath("name") as? String
println("loading row \(ii) loaded!")
ii++
} else {
println("nothing loaded...?")
}
println("cell loaded")
return cell
}
, когда я запускаю его, хотя загружен первый ряд, но затем я получаю:
loading row 1 loaded!
cell loaded
fatal error: Array index out of range
Виноватая линия показана следующим образом:
cell.customCellLabel1[indexPath.row].text = data.valueForKeyPath("name") as? String
У меня есть 7 строк для загрузки, поэтому где-то мне нужно добавить массив меток/кнопок, и если да, то где/как это сделать?
Спасибо!
Костас