相关疑难解决方法(0)

SwiftUI:什么是 @AppStorage 属性包装器

我曾经使用以下语句将重要的应用程序数据(如登录凭据)保存到 UserDefaults 中:

UserDefaults.standard.set("sample@email.com", forKey: "emailAddress")
Run Code Online (Sandbox Code Playgroud)

现在,我知道 SwiftUI 引入了新的属性包装器,称为:

@AppStorage

谁能解释一下新功能的工作原理?

ios swift userdefaults swiftui ios14

23
推荐指数
3
解决办法
7782
查看次数

SwiftUI - 如何制作启动/停止计时器

我的目标是在 SwiftUI 中创建一个从 0 开始的视图。当你按下视图时,计时器应该开始向上计数,再次点击停止计时器。最后,当您再次点击以启动计时器时,计时器应从 0 开始。

这是我当前的代码:

import SwiftUI

struct TimerView: View {
    @State var isTimerRunning = false
    @State private var endTime = Date()
    @State private var startTime =  Date()
    let timer = Timer.publish(every: 0.001, on: .main, in: .common).autoconnect()
    
    var tap: some Gesture {
        TapGesture(count: 1)
            .onEnded({
                isTimerRunning.toggle()
            })
    }

    var body: some View {

        Text("\(endTime.timeIntervalSince1970 - startTime.timeIntervalSince1970)")
            .font(.largeTitle)
            .gesture(tap)
            .onReceive(timer) { input in
                startTime = isTimerRunning ? startTime : Date()
                endTime = isTimerRunning ? input : endTime
            } …
Run Code Online (Sandbox Code Playgroud)

view timer swift swiftui

3
推荐指数
1
解决办法
3770
查看次数

标签 统计

swift ×2

swiftui ×2

ios ×1

ios14 ×1

timer ×1

userdefaults ×1

view ×1