0
これをSwift 3.0に変換しようとすると問題が発生します。非機能型の値を呼び出せません
私は:
public func calendarView(_ view: DDCalendarView, eventsForDay date: Date) -> [Any]? {
let daysModifier = (date as NSDate).days(from: Date())
//var daysMod = date.days(from: Date())
//var newE = self.events(forDay: daysModifier as Int) as NSArray
var Good = self.events(forDay: daysModifier) as Any
var dates = [NSMutableArray]()
var e:DDCalendarEvent
for e in Good as! [AnyObject] {
if e.dateBegin(isEqual(date)) as! Bool == true || e.dateEnd(isEqual(date)) as! Bool == true {
dates.append(e as! NSMutableArray)
}
}
return dates
}
条件e.dateBegin(のisEqual(日)){}このエラーを与えている場合。 Objective-Cのコードコードにいる間は、次のとおりです。
- (NSArray *)calendarView:(DDCalendarView *)view eventsForDay:(NSDate *)date {
//should come from db ;) NOW using testdata
NSInteger daysMod = [date daysFromDate:[NSDate date]];
NSArray *newE = [self eventsForDay:daysMod]; //always today ;)
NSMutableArray *dates = [NSMutableArray array];
for (DDCalendarEvent *e in newE) {
if([e.dateBegin isEqualDay:date] ||
[e.dateEnd isEqualDay:date]) {
[dates addObject:e];
}
}
return dates;
}
とそのは
- (BOOL)isEqualDay:(NSDate *)date {
NSDateComponents *compA = self.currentCalendarDateComponents;
NSDateComponents *compB = date.currentCalendarDateComponents;
return ([compA day]==[compB day] && [compA month]==[compB month ]&& [compA year]==[compB year]);
}
isEqualDay機能のために、このためのあらゆるソリューションをブール値を返しますか?
あなたが首謀している.btwあなたはすぐにあなたに戻って取得suggest.willとして私はあなたのコードを適用でき@rmddy。 –
この関数は配列を返すpublic function calendarView(_ view:DDCalendarView、eventsForDay date:Date) - > [Any] { の代わりにデータソースメソッドを指定する必要があります。そうでなければエラーを表示します。 –
OK少し気をつけてください。あなたの 'DDCalendarView'クラスについては何も知りません。私はちょうど良い翻訳を提供しようとしました。小さな変更が必要になる可能性があります。 – rmaddy