我希望能够以编程方式将自定义属性归因于 UITableViewCell (或任何其他对象)
我在 Swift w/Realm.io DB 中使用了一个委托方法(但我猜它在 Objective-c 中应该是类似的东西)。是否在下面使用注释掉的行 == 这样做的正确方法?
override func tableView(tableView: UITableView?, cellForRowAtIndexPath indexPath: NSIndexPath?) -> UITableViewCell? {
let cell = tableView!.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as Cell
let object = array[UInt(indexPath!.row)] as Language
cell.textLabel.text = object.title
cell.position = object.position // does not produce any warnings
return cell
}
归因标题工作得很好(因为它是一个标签),但是我如何将其他(未声明的)属性归因于一个单元格,以便以后在遍历 tableView 时恢复它们?
for var row = 0; row < tableView.numberOfRowsInSection(0); row++ {
var cellPath = NSIndexPath(forRow: row, inSection: 0)
var cell:Cell = tableView.cellForRowAtIndexPath(cellPath) as Cell
println(cell) // This prints out my cells, which contains a .text property, but no custom properties
}
Println 产生以下结果,但 position 属性不在其中:
<_TtC8Verbum_24Cell: 0x7f9fb58bd3d0; baseClass = UITableViewCell; frame = (0 0; 320 44); text = 'Italiano'; autoresize = W; layer = <CALayer: 0x7f9fb585bb70>>
<_TtC8Verbum_24Cell: 0x7f9fb58bb670; baseClass = UITableViewCell; frame = (0 44; 320 44); text = 'Francais'; autoresize = W; layer = <CALayer: 0x7f9fb58a44f0>>
更新:我正在为表格单元格使用自定义类:
class Cell: UITableViewCell {
var position:Int?
init(style: UITableViewCellStyle, reuseIdentifier: String!) {
super.init(style: .Subtitle, reuseIdentifier: reuseIdentifier)
}
}