2014-04-12 1 views
0

내 UITableView에는 날짜 제목이있는 여러 개의 섹션이 있습니다. 날짜는 NSMutableArray에서 날짜순으로 정렬됩니다. 내 섹션에 올바른 날짜가 표시되어 잘 작동하고 numberofrowsinnsection도 제대로 작동합니다. 셀 textlabels에 대해 정렬 된 날짜와 같은 순서로 정렬되는 NSMutableArrays가 있습니다. 해당 날짜 (섹션)에 올바른 텍스트 라벨을 얻으려면 어떻게해야합니까? indexpath.section을 사용하면 섹션에 행이 하나만있는 경우에만 작동합니다. 한 섹션에서 두 개 이상의 행을 때 textlabels 잘못된 값이 있습니다. 사전을 통해이 작업을 수행 할 수 있음을 알고 있지만 해결 방법을 찾지 못했습니다.Xcode UITableView 섹션 및 행 날짜순 정렬 (mutableArray에서)

@property NSMutableArray *dateArray;  //date for my sections 
@property NSMutableArray *hoursArray; //hours for cells textlabel 




내 섹션

"January 2014", 
"April 2014", 
"June 2014" 

내 시간 :

"1", 
"2", 
"3", 

/////////// 편집

내가 사용할 때 Cell.textlabel.text = [hoursarray objectatindex : indexpath.row] 항상 모든 섹션에서 인덱스 0부터 시작합니다. 제가 Cell.textlabel.text = hoursarray의 objectatindex : indexpath.section] 사용할 때

는 만 1 행 각 섹션이 때 정확한 정렬을 갖는다. 그러나 섹션에 더 많은 행이있는 경우 순서가 잘못되었습니다.

+0

더 자세히 설명 할 수 있습니까? –

+0

수정 내용을 보려면 이해할 수 있습니까? – user2912794

답변

1

정렬 된 데이터 소스를 만들어야하므로 rowArray의 sectionArray를 만든 다음 적절하게 사용해야합니다. 그런 다음 당신은 다음과 같이 사용할 수 있습니다 :

Cell.textlabel.text = [[sectionArray objectatindex:indexpath.section] objectAtIndex:indexpath.row]; 

지금 당신은 aacordingly 당신의 데이터 소스를 관리해야합니다.

업데이트 : 당신은 그러나 당신이 당신의 필요에 따라 최적화 할 수 있습니다, 이건 그냥 예입니다이

NSMutableArray *dateArray = [[NSMutableArray alloc] init]; 


for(int i=0; i<=dateData.length; i++) 
{ 
    NSMutableArray *hoursArray = [[NSMutableArray alloc] init]; 

    for(int j=0; j<=hoursData.length; j++) 
    { 
    [hoursArray addObject:yourObject]; 
    } 

    [dateArray addObject:hoursArray]; 
} 

같은 2 차원 배열을 만들 수 있습니다.

+0

sortedArrayUsingSelector를 사용하여 날짜 배열을 정렬했습니다. @selector (compare :)]; 그 후에는 날짜 배열을 정렬하는 데 시간 배열을 정렬합니다 ...하지만 코드를 사용할 때 [[sectionArray objectatindex : indexpath.section] objectAtIndex : indexpath.row]; 응용 프로그램이 오류로 인해 충돌합니다. - [__ NSCFString objectAtIndex :] : 인식 할 수없는 선택기가 인스턴스로 전송되었습니다. 2 차원 배열이 필요합니까? – user2912794

+0

@ user2912794 그래, 그게 내가 2 차원 어레이를 언급했다. .. dateArray containg hoursArray .. –

+0

2d 어레이가 어떻게 보이는지 예제를 보여 주시겠습니까? – user2912794