2017-10-11 31 views
0

Fscalender에서 이벤트를 표시하는 방법은 무엇입니까?FSCalender는 이벤트를 표시하지 않습니까?

이것은 API 호출에서 이벤트를 가져 오는 코드입니다.

func SetUpUIDashBoardCalenderdata() 
{ 
    APIManager.sharedInstance.FetchParentDashboardCalenderDataFromURL(){(dashBoardCalenderJson)-> Void in 
     let calenderVar = JSON(dashBoardCalenderJson) 
     print("calenderVar----",calenderVar) 
     let info = calenderVar["dates"].rawString() 
     let jsonData = info?.data(using: .utf8)! 
     let dictionary = try? JSONSerialization.jsonObject(with: jsonData!, options: []) as! Array<Any> 
     print("dictionary",dictionary) 

    } 
} 

답변

0

FSCalendarDataSource 프로토콜을 구현해야합니다.

내 예를 살펴하십시오

let events = [Date]() 

fileprivate lazy var dateFormatter: DateFormatter = { 
    let formatter = DateFormatter() 
    formatter.dateFormat = "yyyy/MM/dd" 
    return formatter 
}() 

func calendar(_ calendar: FSCalendar, numberOfEventsFor date: Date) -> Int { 
    let dayFormatted = dateFormatter.string(from: date) 
    var counter = 0 
    for event in events{ 
     let day = dateFormatter.string(from: event) 
     if dayFormatted == day{ 
      counter += 1 
     } 
    } 
    return counter 
} 

이하를 :

func calendar(_ calendar: FSCalendar, numberOfEventsFor date: Date) -> Int { 
    let dayFormatted = dateFormatter.string(from: date) 
    return events.filter({ dateFormatter.string(from: $0) == dayFormatted }).count 
} 
+0

을 내가 어떻게 달력에 그 날짜를 채 웁니다하는 사전에 날짜를 얻고있다. – kishore

+0

사전의 예를 추가 할 수 있습니까? – Maor

+0

이것은 서버에서 얻은 응답입니다. "dates": [ "Mon Oct 02 00:00:00 GMT + 05 : 30 2017", "Wed Oct 04 00:00:00 GMT + 05 : 30 2017 ", "토요일 10 월 07 일 00:00:00 GMT + 05 : 30 2017 ", "일 Oct 08 00:00:00 GMT + 05 : 30 2017 ", "월 Oct 09 00:00:00 GMT + 05 : 30 2017 ", "Wed Oct 18 00:00:00 GMT + 05 : 30 2017 ", "Thu Oct 19 00:00:00 GMT + 05 : 30 2017 ", "Fri Oct 20 00 00 : 00 GMT + 05 : 30 2017 ", "월 Oct 23 00:00:00 GMT + 05 : 30 2017 ", "10 월 24 일 00:00:00 GMT + 05 : 30 2017 ",], "status": 1, "message": "세부 정보를 가져 왔습니다." } – kishore