私はこの2つの日付の時差をguideから取得しようとしていました。私はdateComponents
引数のために何を入れるべきか分からない。 スウィフト3で時差を取得する
`` `
Playground execution failed: error: MyPlayground.playground:10:46: error: type of expression is ambiguous without more context
let timeDifference = calendar.dateComponents([.hour, .minute], from: stopTime!, to: date!)
^~~~~~~~~~~~~~~~
は私が一定の第1としてそれを宣言しようとしましたが、種類が何であるかわからない午前:私は直接
[.hour, .minute]
に渡すと、私はエラーを取得します。引数はタイプ
Set<Calendar.Component>
ですが、それが
Component
、
DateComponent
、または
CalendarComponent
であると言ってみるとエラーになります。
`` ``
let timeFormatter = DateFormatter()
timeFormatter.dateFormat = "hh:mm a "
let time = "12:03 pm"
let stopTime = timeFormatter.date(from: time)
let date = Date()
let calendar = Calendar.current
let components:[DateComponent] = [.hour, .minute]
let timeDifference = calendar.dateComponents(components, from: stopTime!, to: date!)
Setを明示的に作成する必要はありません。あなたのコードで 'Set (components)'を '[.hour、.minute]'に置き換えてみてください。 –
OOPer
ああ、そうです!私は '[] 'も' Set'を表すことはできませんでした。 @OOPer – Sweeper
OPの問題は、 'date!'の '! 'によって引き起こされることに注意してください。 – OOPer