前提・実現したいこと
SwiftUIでタイマーを作っています。
タイマーの時間を動的に変更させるために、変数を用意したのですが、そこで下記のエラーが出ました。
エラーを直す方法を教えていただきたいです。
(最終的にtextfieldを用いて動的に変更できるようにしようと考えています。)
発生している問題・エラーメッセージ
Function declares an opaque return type, but has no return statements in its body from which to infer an underlying type
該当のソースコード
Swift
1 2import SwiftUI 3 4struct TimerPage: View { 5 6 var time: Int = 60 7 8 9 var body: some View { //ここにエラー 10 11 let toDate = Calendar.current.date(byAdding:.minute, value: time, to:Date()) 12 13 TimerView(setDate: toDate!) 14 15 } 16} 17 18 19struct Timer_Previews: PreviewProvider { 20 21 static var previews: some View { 22 TimerPage() 23 } 24} 25
Swift
1 2import SwiftUI 3 4struct TimerView : View { 5 6 @State var nowD:Date = Date() 7 let setDate:Date 8 9 var timer: Timer { 10 Timer.scheduledTimer(withTimeInterval: 1, repeats: true) {_ in 11 self.nowD = Date() 12 } 13 } 14 15 var body: some View { 16 Text(TimerFunc(from: setDate)) 17 .font(.largeTitle) 18 .onAppear(perform: { 19 _ = self.timer 20 }) 21 } 22 23 func TimerFunc(from date:Date)->String{ 24 let cal = Calendar(identifier: .japanese) 25 26 let timeVal = cal.dateComponents([.hour,.minute,.second], from: nowD,to: setDate) 27 28 return String(format: "%02d:%02d:%02d", 29 timeVal.hour ?? 00, 30 timeVal.minute ?? 00, 31 timeVal.second ?? 00) 32 33 } 34 35} 36 37
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/17 01:22