我试图通过设置自定义单元格类中的布尔值的值来激活我的自定义单元格内的函数。这是在这样做我的最好的尝试:瞬时数据传输到自定义单元格从视图控制器
func blurViewActive(gestureRecognizer:UIGestureRecognizer) {
if (gestureRecognizer.state == UIGestureRecognizerState.Began) {
println("STATE BEGAN")
var point = gestureRecognizer.locationInView(self.tv)
if let indexPath = self.tv.indexPathForRowAtPoint(point) {
let data = messageList[indexPath.row] as Messages
let mcell: TableViewCell = self.tv.dequeueReusableCellWithIdentifier("cell") as TableViewCell
mcell.read = true
}
}
}
但是,这并不工作,我真的不知道如何做到这一点任何其他方式。
这里是我的自定义单元格类的代码:
class TableViewCell: UITableViewCell, UIGestureRecognizerDelegate {
@IBOutlet weak var labelOutl: UILabel!
var timer = NSTimer()
var counter = 10
var read = Bool()
@IBOutlet weak var dateLabel: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
if read == true{
println("hello")
}
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
func timerStarted(){
timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "update", userInfo: nil, repeats: true)
}
func update(){
println(--counter)
}
}
我预期的结果是,一旦阅读已被设置为“真”在我的视图控制器,awakeFromNib功能里面的功能应立即执行。
对此不起作用?你期望的结果是什么?你有没有试过直接调用函数? –
@IanMacDonald我的预期结果是,一旦在我的视图控制器中将读取设置为“true”,应该立即执行awakeFromNib函数中的函数。查看更多信息。 – martin
你应该重载'TableViewCell''func setRead'来完成这个。当你更新属性值时,你的'awakeFromNib'不会被调用。 –