2013-05-09 3 views
0

코딩에 대해 잘 모르기 때문에 objective-c 프로그래밍에 익숙하지 않습니다.특정 탭 표시 줄에 특정 키 표시

기본적으로 나는 모든 강의 모듈을 포함하는 lessonDict라는 NSDictionary가 있습니다. 내 NSDictionary의 키는 월요일, 화요일, 수요일과 같은 강의의 날입니다 ...

TimetableDayViewController에 tabBarController가 있습니다.

내 TabBarController에서 '월'을 클릭하면 월요일 수업 만 표시합니다.

이 작업을 수행하는 방법을 알고 계십니까?

감사합니다.

내 XML 시트 (시간표 XML) : 내 코드는 다음과 같은 경우

-(id)initWithDay:(NSString *)whatday 
{ 
    NSLog (@"test %@", whatday); 
    if (self = [super initWithStyle:UITableViewStylePlain]) 
    { 
    NSLog (@"test"); 
    self.day = whatday; 
    self.tabBarItem.title = self.day; 

    NSMutableArray *mon = [[NSMutableArray alloc] init]; 
    NSMutableArray *tue = [[NSMutableArray alloc] init]; 
    NSMutableArray *wed = [[NSMutableArray alloc] init]; 
    NSMutableArray *thu = [[NSMutableArray alloc] init]; 
    NSMutableArray *fri = [[NSMutableArray alloc] init]; 

    for (int i=0;i<(lessonList.count); i++) 
    { 
     mon = [lessonDict objectForKey:@"Monday"]; 
     tue = [lessonDict objectForKey:@"Tuesday"]; 
     wed = [lessonDict objectForKey:@"Wenesday"]; 
     thu = [lessonDict objectForKey:@"Thursday"]; 
     fri = [lessonDict objectForKey:@"Friday"]; 
    } 

    if ([whatday isEqualToString:@"Mon"]) 
    { 
     [lessonList addObjectsFromArray:mon]; 
    } 
    if ([whatday isEqualToString:@"Tue"]) 
    { 
     [lessonList addObjectsFromArray:tue]; 
    } 
    if ([whatday isEqualToString:@"Wed"]) 
    { 
     [lessonList addObjectsFromArray:wed]; 
    } 
    if ([whatday isEqualToString:@"Thu"]) 
    { 
     [lessonList addObjectsFromArray:thu]; 
    } 
    if ([whatday isEqualToString:@"Fri"]) 
    { 
     [lessonList addObjectsFromArray:fri]; 
    } 
} 
return self; 
} 

, 내 코드로 잘못 알고 있습니다

<Timetable> 
<Lesson Day="Thursday"> 
    <ModuleGroup>IT1103</ModuleGroup> 
    <Time>0800-0850</Time> 
    <moduleCode>IT2201</moduleCode> 
    <lessonType>Lecture</lessonType> 
    <location>Ltl3</location> 
    <staffName>Evelyn</staffName> 
</Lesson> 
<Lesson Day="Wednesday"> 
    <ModuleGroup>IT1103</ModuleGroup> 
    <Time>0900-0950</Time> 
    <moduleCode>IT1204</moduleCode> 
    <lessonType>Practical</lessonType> 
    <location>L539</location> 
    <staffName>Aaron</staffName> 
</Lesson> 
<Lesson Day="Wednesday"> 
    <ModuleGroup>IT1103</ModuleGroup> 
    <Time>1010-1100</Time> 
    <moduleCode>IT1204</moduleCode> 
    <lessonType>Practical</lessonType> 
    <location>L539</location> 
    <staffName>Aaron</staffName> 
<Lesson Day="Friday"> 
    <ModuleGroup>IT1103</ModuleGroup> 
    <Time>1110-1200</Time> 
    <moduleCode>IT1210</moduleCode> 
    <lessonType>Tutorial</lessonType> 
    <location>L601</location> 
    <staffName>Katherine</staffName> 
</Lesson> 
</Timetable> 

TimetableDayViewController.m?

+0

json –

+0

의 샘플을 게시하십시오.하지만 JSON이 아닌 XML을 사용하고 있습니다. 그러나 당신의 도움에 감사드립니다. 크게 감사드립니다. –

+0

기본적으로 그는 디버깅을 도와 줄 수 있도록 일부 코드를 게시하는 것을 의미합니다. – ApproachingDarknessFish

답변

0

먼저 해당 날짜의 json을 lessonDict에서 추출합니다.

[lessonDict [email protected]"Monday"]; 

레슨 모듈의 유형에 따라 적절한 변수를 사용하십시오. 이제 얻은 데이터를 사용하십시오.

+0

고마워, 스리카 카르. 먼저 코드를 시험해 보겠습니다. 고맙습니다. –

0

이 질문에 답해야하는 사람들에게 도움이되는지 확신 할 수 없습니다. 그러나 나는 이미 나의 질문을 해결했다.

내가 원하는 것을 저장하기 위해 dayList라는 다른 배열을 만들었습니다. dayList 배열은 특정 날짜의 모듈 만 저장합니다. 내 dayList에 대한 속성을 만들었으므로 TimetableDayViewController에서 쉽게 액세스 할 수 있습니다. (parserDidEndDocument 방법에서) 내 TimetableDayViewController.m

cellForRowAtIndexPath 그냥이 전화에서

dayList = [[NSMutableArray alloc] init]; 

for (int i = 0; i < (lessonList.count); i++) 
{ 
    timetable *t = [lessonList objectAtIndex:i]; 

    NSLog(@"Module Group: %@, Time: %@, Module Code: %@, Lesson Type: %@, Location: %@, Staff Name: %@, Day: %@", t.moduleGroup, t.moduleTime, t.moduleName, t.moduleType, t.moduleRoom, t.moduleLec, t.lessonDay); 

     if ([t.lessonDay isEqual: self.day]) 
    { 
     [dayList addObject:t]; 
    } 
} 

그래서, 당신이 원하는 것을 표시 할 수 있어야에 따라서

.