Trouble Using Swift NSDate "timeIntervalSinceNow" -
this question has answer here:
i've searched around , flummoxed riddle.
in swift, xcode 6.2, these lines work:
let day_seconds = 86400 let one_day_from_now = nsdate(timeintervalsincenow:86400) but following returns error:
let day_seconds = 86400 let one_day_from_now = nsdate(timeintervalsincenow:day_seconds) console output:
"playground execution failed: /var/folders/4n/88gryr0j2pn318sw_g_mgkgh0000gn/t/lldb/10688/playground625.swift:24:30: error: argument 'timeintervalsincenow' in call let one_day_from_now = nsdate(timeintervalsincenow:day_seconds)"
what's going on here? why nsdate trickiness?
it's because timeintervalsincenow expect nstimeinterval double.
if do:
let day_seconds = 86400 day_second int type not method expect. when type number itself:
let one_day_from_now = nsdate(timeintervalsincenow:86400) compiler implicit passing double, because it's method expect, ok.
the solution cancould using nstimeinterval(day_seconds) or double(day_seconds) same or when declare constant make sure it's double, example:
let day_seconds = 86400.0 or
let day_seconds: double = 86400 or
let day_seconds: nstimeinterval = 86400
Comments
Post a Comment