В [sender superview]
вы получаете доступ не MyCustomCell
, а contentView
.
Читать UITableViewCell
Ссылка на класс:
contentView
Возвращает представление содержимого объекта ячейки. (Только для чтения)
@property(nonatomic, readonly, retain) UIView *contentView
Обсуждение:
Представление содержимого объекта UITableViewCell
является суперпредставлением по умолчанию для содержимого, отображаемого ячейкой. Если вы хотите настроить ячейки, просто добавив дополнительные представления, вы должны добавить их в представление содержимого, чтобы они располагались надлежащим образом при переходе ячейки в режим редактирования и из него.
Самый простой способ изменить ваш код - это использовать [[sender superview] superview]
.
Но это перестанет работать, если вы позже измените свою ячейку и вставите кнопку в другое представление.
contentView появился в iPhoneOS 2.0
. Подобная будущая модификация повлияет на ваш код. Вот почему я не предлагаю использовать этот способ.