2013-04-16 3 views
0

안녕하세요. 캘린더를 사용하여 이벤트를 표시하는 iPhone 응용 프로그램을 만드는 중입니다.이 캘린더 응용 프로그램은 내 캘린더 API 인 https://github.com/klazuka/Kal을 사용하여 이벤트를 표시해야합니다. json webservice에서 시작하는 시작 날짜와 종료 날짜에 따라 캘 캘린더 프로젝트를 변경해야합니다. 그래서 시작 날짜와 종료 날짜를 호출하고 해당 날짜에 이벤트를 표시 할 수 있습니다. 코드를 입력하십시오. 감사합니다.kal 캘린더를 변경하여 json webservice의 이벤트를 표시하는 방법

답변

0

Kal git의 휴일 예는 시작할 수있는 좋은 장소입니다. 또한 JSON에서 이벤트를 가져와 KalViewController tableView에 표시합니다.

편집 : 나는 내가 무엇을했는지를 알 수 , 내가 기본 달력뿐만 아니라 칼 calenderView

에서 JSON의 이벤트를 표시했다 그래서이를 가져 오는을위한 칼의 구현을 변경하지 않은 네이티브 이벤트하지만 서버 이벤트에 대한 내 자신의 인출 메서드를 추가하고 두 배열을 결합했습니다. 여기

내가 해냈어, 내가는 nativeCal 예를 사용하고 KalViewDelegate 프로토콜에서,

다음 내 대한 항공 데이터 소스와 같은 eventkitDatasource.m을 사용

- (void)didSelectDate:(KalDate *)date 

내가 가져올 요청을 보낸 methood 서버에서 이벤트 배열을 수신하면 선택한 날짜에 서버의 이벤트 인 을 가져온 다음 해당 객체를 eventkitDatasource.m의 배열에 추가하고 배열을 사용합니다.

- (NSArray *)eventsFrom:(NSDate *)fromDate to:(NSDate *)toDate 

네이티브 일정 및 서버 이벤트 모두에서 이벤트를 반환합니다.

여기 methood

- (NSArray *)eventsFrom:(NSDate *)fromDate to:(NSDate *)toDate 
{ 
NSMutableArray *matches = [NSMutableArray array]; 
for (Meeting *meeting in events) 
{ 
    if (IsDateBetweenInclusive(meeting.startDate, fromDate, toDate)){ 
     [matches addObject:meeting]; 
    } 
} 
if([arrServerEvents count]>0){ 
    [matches addObjectsFromArray:arrServerEvents]; 
} 

return matches; 
} 

내 구현 또한 내가 Ekevent 내 서버 이벤트 모두의 속성을 가진 일반적인 회의 클래스를 만들었습니다 여기에서 볼 수 있습니다. 다음

- (void)presentingDatesFrom:(NSDate *)fromDate to:(NSDate *)toDate delegate:(id<KalDataSourceCallbacks>)delegate{ 

methood 내 일반적인 클래스 객체에 EKEvents을 변경하고있는 eventkitDatasource.m의 기본 이벤트 배열에 이러한 개체를 추가했다.

희망 나는 분명하다.

+0

메신저 kal 캘린더의 데이터 소스 메서드에서 코드를 변경하는 방법을 묻습니다. – sravani

+0

내 대답을 편집했습니다. – Bonnie