千萬不要用cell.tag

有次我用到cell上一個控件的拖動事件,然後事件結束後找不到什麼參照物來看是哪個cell上的控件被拖動了。於是我自認爲很機智的用了cell.tag = indexPath.row。 啊尼?成功了。確實成功了,可以用。但是總感覺什麼地方不對。
後來想了下,細思極恐,會出現這樣一個問題:如果我刪掉了index = 3的那個cell,然後tableview沒有reload的情況下,原來index是4的cell現在是index=3 但是他的cell.tag 還是4。(不相信的小夥伴自己去寫個demo試試就知道了。不要問我怎麼知道的,說多了都是淚啊)
然後就有小夥伴問了,那怎麼弄呢?
我想到的一個解決辦法是:拖動事件的recognizer.view.superView 就是那個cell 然後強轉過來,直接調用cell裏的屬性來判斷是哪個index。(如果你有更好的辦法,可以加我QQ或者直接留言告訴我。我就是iOS的一個小菜雞��)

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