2017-10-11 12 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: 30207」、 「土10月7日00:00:00 GMT + 05:30 2017」、 「日曜日10: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

関連する問題