찾다

 >  Q&A  >  본문

objective-c - 自定义cell上的button监听的问题,用indexPathForSelectedRow取值问题

我用 xib 自定义 cell 前面有个 button,写 cell 中监听 button,点击后发送通知到 tableView 修改数据,在通知方法中用 indexPathForSelectRow.row 拿到当前模型数据,但 indexPathForSelectRow.row 返回值一直为 0。

#pragma mark - 接受通知的方法
- (void)deleteBtnClick:(NSNotification *)note
{
    NSLog(@"%ld" ,self.searchResult.indexPathForSelectedRow.row);
}
習慣沉默習慣沉默2758일 전755

모든 응답(2)나는 대답할 것이다

  • 黄舟

    黄舟2017-05-02 09:23:53

    여기에는 무엇이 있을 것으로 예상하시나요? 버튼을 클릭한 셀인가요? 여기에 표시되는 내용은 현재 선택된 행입니다. 해당 셀에서 버튼을 클릭하면 해당 셀이 선택되지 않을 수 있습니다. 알림의 userInfo에 클릭한 행의 행을 추가해 볼 수 있습니다. 아니면 실제로 그런 문제를 겪을 필요가 없습니다. 그런 일을 처리하려면 블록을 사용하는 것이 더 쉬울 것입니다.

    으아악

    회신하다
    0
  • 怪我咯

    怪我咯2017-05-02 09:23:53

    @미해결

    히스토리 기록에서 셀에 해당하는 데이터를 삭제하려면 오른쪽의 삭제 버튼을 눌러야 하기 때문에 해당 셀의 행을 가져와야 하는데 원래는 삭제 버튼의 탭을 묶어두려고 했는데요. 인쇄된 태그는 항상 0입니다(셀이 xib로 사용자 정의되었기 때문인지는 모르겠습니다).
    마지막으로 num 속성을 사용하여 UI버튼을 사용자 정의했습니다. cellForRowAtIndexPath에서 indexpath.row 값을 방금 듣기 버튼을 클릭했을 때 tableviewcontroller에 num이 포함된 값 알림을 보냈습니다. 그런 다음 모델 데이터에서 해당 값을 삭제합니다.
    이렇게 하면 문제가 해결될 수 있지만 그렇지 않은 것 같습니다. 이렇게 전달하는 것이 좋습니다. 더 좋은 방법이 있나요??

    회신하다
    0
  • 취소회신하다