1
這是JTAppleCalendar
委託和數據源方法實現的整個擴展部分。即使在執行委託方法時也得到「不符合JTAppleCalendarViewDelegate」錯誤
extension ViewController : JTAppleCalendarViewDelegate, JTAppleCalendarViewDataSource {
func configureCalendar(_ calendar: JTAppleCalendarView) -> ConfigurationParameters {
// set date formatter
formatter.dateFormat = "yyyy MM dd"
formatter.timeZone = Calendar.current.timeZone
formatter.locale = Calendar.current.locale
let startDate = Date()
let endDate = (Calendar.current as NSCalendar).date(byAdding: .day, value: 180, to: startDate, options: [])!
let parameters = ConfigurationParameters(startDate: startDate, endDate: endDate)
return parameters
}
func calendar(_ calendar: JTAppleCalendarView, cellForItemAt date: Date, cellState: CellState, indexPath: IndexPath) -> JTAppleCell {
let cell = calendar.dequeueReusableJTAppleCell(withReuseIdentifier: "DateCell", for: indexPath) as! AccountsDateCell
cell.dateLabel.text = cellState.text
return cell
}
}
Xcode是說:
類型 '視圖控制器' 不符合協議 'JTAppleCalendarViewDelegate'
它看起來像問題是與圖書館的手動安裝。我拖放文件到這個項目中。有沒有其他方法可以手動將庫添加到項目中?
我對這個庫一無所知,但它看起來像你已經實現了一個數據源方法而沒有委託方法。您需要實現任何非可選委託和任何非可選數據源方法,因爲您聲明您符合這些協議。 – rmaddy
@rmaddy感謝回覆,按照http://cocoadocs.org/docsets/JTAppleCalendar/7.0.6/Protocols/JTAppleCalendarViewDelegate.html我正在實現所需的非可選委託方法是'日曆(_:cellForItemAt: cellState:indexPath:)'。 upvoted for reply –
當你點擊紅色錯誤時,XCode 9應該向你顯示你缺少的內容。你可以點擊它,然後讓Xcode爲你插入缺失的功能嗎? –