/

SwiftUI:警告訊息

SwiftUI:警告訊息

在給用戶提供反饋的同時,有時也可以用來協助調試應用程序,最常見的方式之一就是使用警告訊息。

SwiftUI 提供了 .alert() 修飾符,我們可以根據某些條件來顯示警告。

讓我們從以下範例開始,其中有一個帶有計數器的 Button

1
2
3
4
5
6
7
8
9
10
11
12
import SwiftUI

struct ContentView: View {
@State var count = 0

var body: some View {
Button("Count: \(count)") {
self.count += 1
}
.font(.title)
}
}

count 達到 10 時,我希望顯示一個警告訊息。

我們該如何做到這一點?

我可以在 ContentView 中添加一個名為 showAlert 的布爾屬性,並編輯 Button 的點按操作內容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
struct ContentView: View {
@State var count = 0
@State var showAlert = false

var body: some View {
Button("Count: \(count)") {
self.count += 1
if self.count == 10 {
showAlert = true
self.count = 0
}
}
.font(.title)
}
}

當我們達到 10,我們將 showAlert 設置為 true,並將計數重置為 0。

然後,我們將 .alert() 修飾符添加到 Button 視圖:

1
2
3
.alert(isPresented: $showAlert) {
Alert(title: Text("Great!"), message: Text("You reached 10"))
}

此警告僅在 showAlert 屬性為 true 時顯示。當我們關閉警告訊息時,showAlert 屬性會自動設置為 false

以下是完整的程式碼:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
struct ContentView: View {
@State var count = 0
@State var showAlert = false

var body: some View {
Button("Count: \(count)") {
self.count += 1
if self.count == 10 {
showAlert = true
self.count = 0
}
}
.font(.title)
.alert(isPresented: $showAlert) {
Alert(title: Text("Great!"), message: Text("You reached 10"))
}
}
}

嘗試運行應用程序。計數器從 0 開始。點擊按鈕,計數器將增加:

直到達到 10:

然後,計數器將重新從 0 開始:

tags: [“SwiftUI”, “alerts”, “user feedback”, “debugging”]