문제

빠른. 나는 뭔가를 간과하고있다 ...

NSDictionary의 배열로 구축 된 그룹화 된 테이블보기가 있습니다. 각 배열은 테이블의 섹션입니다. 편집 모드에 있고 사용자가 "삭제"를 클릭하면

- (void)removeObject:(MyClass *)myObject 

MyArray removeObject : myObject] 메시지를 보낼 배열을 어떻게 결정할 수 있습니까? nsdictionary에는 indexofobject : method가 없지만 nsarray는 그렇지 않습니다. 나는 상기 객체를 찾고있는 각 배열을 반복 할 수 있다고 생각하지만 그것은 옳지 않은 것 같습니다.

누군가 내 뇌를 제발 딸랑 딸랑 딸랑이 할 수 있습니까?!? 고마워!

도움이 되었습니까?

해결책

표준 uitableview 프로토콜을 구현 하고이 방법을 사용할 수 있습니다.

(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle<br> forRowAtIndexPath:(NSIndexPath *)indexPath {
     <br><br>//check the section according to your array, if(indexPath.section ==....
     <br><br>
    if(editingStyle == UITableViewCellEditingStyleDelete) {
     <br>
    [arrayFoundBefore removeObjectAtIndex:indexPath.row];
    <br> 
    }
    <br>}

나는 그것이 확실하지 않은 방법이라고 생각합니다. 누구든지 명확하게 할 수 있습니까?

다른 팁

문제의 메소드가 메시지를 보낸 테이블 뷰를 알아야합니다 (해당 객체의 대의원에 있기 때문에) - 따라서 TableView Delegate의 ViewDidload 메소드에서 배열을 만들거나 또는 대안으로 어떤 것이 있는지 알아낼 수 있습니다. 대표 컨텍스트.

배열을 통해 반복하는 데 분명히 잘못된 것은 없습니다. 사람들에게 물건을 얼마나 자주 삭제하고, 사전은 이것을 상당한 오버 헤드로 만들기에 충분히 큰가?

참조 지점으로, Nsarray 's indexOfObject: 메소드는 어울리는 객체를 찾는 배열을 반복하는 것보다 더 멋진 것은 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top