UITableViewCell中 setSelected 的坑

setSelected:animated: 方法實現了,可以滿足在當前cell裏處理cell的點擊事件。有好些無需數據交互的事件放在這裏處理看上去很簡潔,妙哉。

但是!

當滾動tableview,cell被重用的時候,會導致setSelected:animated:多次調用。如何不在解決呢?

1、老老實實的實現 tableView: didSelectRowAtIndexPath: 方法。這樣對於獨立的cell上處理的邏輯放到tableView裏去處理看上去不是很友好。也不能做到解耦

2、很簡單。只需要重寫一個空的setSelected:方法實現就可以.當滾動tableview,cell被重用的時候setSelected:會被調用。而當真實的點擊事件發生時setSelected:animated:會調用

感覺確實很巧妙…

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章