Próbuję napisać następujący kod Objective-C w SWIFT:Error „dodatkowy argument na rozmowy” przy przejściu argumentu metody
NSCalendar *cal = [NSCalendar currentCalendar];
NSDate *now = [NSDate date];
NSDate *startOfTheWeek;
NSTimeInterval interval;
[cal rangeOfUnit:NSWeekCalendarUnit
startDate:&startOfTheWeek
interval:&interval
forDate:now];
będzie pisać na początku tego tygodnia do startOfTheWeek
i czas trwania tygodnie do interval
.
na placu zabaw piszę
let now:NSDate = NSDate()
var startDate:NSDate
var duration: NSTimeInterval // also tried "var duration: CMutablePointer<NSTimeInterval>"
let cal = NSCalendar.currentCalendar()
cal.rangeOfUnit(unit: NSCalendarUnit.WeekCalendarUnit, startDate: startDate, interval: duration, forDate: now)"
Chociaż uzupełniania kodu mówi mi podpis jest
cal.rangeOfUnit(<#unit: NSCalendarUnit#>, startDate: AutoreleasingUnsafePointer<NSDate?>, interval: <#CMutablePointer<NSTimeInterval>#>, forDate: <#NSDate?#>)
błąd występuje mówiąc Extra argument 'interval' in call
Co robię źle?
Próbowałem też
cal.rangeOfUnit(NSCalendarUnit.WeekCalendarUnit, startDate: startDate, interval: duration, forDate: now)
ale to daje błąd
„nie można znaleźć przeciążenie dla«rangeOfUnit», który akceptuje dostarczonych argumentów.”
Spróbuj 'cal.rangeOfUnit (NSCalendarUnit.WeekCalendarUnit, startDate: & startDate, interval: & duration, forDate: now) ', nie mam tutaj kompilatora, więc nie mogę sprawdzić. –