사용자 정의 셀 클래스의 부울 값을 설정하여 사용자 정의 셀 내부의 함수를 활성화하려고합니다. 이것은 최선을 다해서 시도한 것입니다 :viewcontroller에서 사용자 정의 셀로 순간 데이터 전송
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)
}
}
내 예상 결과를 한 번 내보기 컨트롤러에서 "true"로 설정되어 읽기로 awakeFromNib 기능 내부 함수가 즉시 실행해야된다 : 여기
내 사용자 정의 셀 클래스의 코드입니다 .
이 문제가 해결되지 않는 이유는 무엇입니까? 예상되는 결과는 무엇입니까? 함수를 직접 호출 해 보았습니까? –
@IanMacDonald 내보기 컨트롤러에서 "true"로 읽음을 설정하면 awakeFromNib 함수 내부의 함수가 즉시 실행되어야합니다. 위의 추가 정보를 참조하십시오. – martin
이 작업을 수행하려면'TableViewCell'' func setRead'를 오버라이드해야합니다. 속성 값을 업데이트 할 때'awakeFromNib' 함수는 호출되지 않습니다. –