FSCalender没有显示事件吗?

时间:2017-10-11 05:47:47

标签: ios swift events calendar fscalendar

如何在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)

    }
}

1 个答案:

答案 0 :(得分: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
}