Основы NSPointerArray
Я пытаюсь познакомиться с NSPointerArray-class, и у меня есть очень специфический вопрос относительно ячеек табличного представления.
Если я сохраню указатель на ячейку, которая нажимается в NSPointerArray, смогу ли я отследить его до исходной ячейки, которая была нажата, даже если эта ячейка была повторно использована?
Я надеюсь, вы понимаете, что я имею в виду, но в основном я пытаюсь реализовать функциональность, похожую на Snapchat, с таймерами обратного отсчета при нажатии на ячейки.
1 ответ
Если вы храните указатель на UITableViewCell
Вы сможете найти ячейку, которая была первоначально нажата, но это ячейка многократного использования, и она больше не будет в том состоянии, в котором она была при нажатии. Теперь он, скорее всего, будет содержать другую информацию.
Лучше было бы хранить indexPath
из нажатой ячейки, чтобы вы могли вернуться к своей модели данных и найти исходные данные для этой нажатой ячейки. Простой массив будет держать indexPath
объекты.
Отслеживание indexPath позволит вам узнать, какие ячейки вы фактически нажали, но indexPath не содержит указатель на конкретную ячейку. Скорее он просто содержит запись о том, что кто-то нажал на ячейку в разделе / строке (например, An indexPath
объект содержит информацию о section
а также row
). Из этой информации вы можете получить доступ к данным в вашей модели и делать все, что вам нужно.