Skip to content

Instantly share code, notes, and snippets.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>API_KEY</key>
<string>123456789</string>
</dict>
</plist>
struct ContentView: View {
private let viewModel = HobbyViewModel()
@State private var showAlert: Bool = false
@State private var randomHobby: Hobby?
var body: some View {
Button("Random hobby") {
randomHobby = viewModel.randomHobby()
struct ContentView: View {
@State private var showAlert: Bool = false
var body: some View {
Button("Show alert") {
showAlert = true
}.alert(
"Hello!",
isPresented: $showAlert,
struct ContentView: View {
@State private var showAlert: Bool = false
var body: some View {
Button("Show alert") {
showAlert = true
}.alert("Hello!", isPresented: $showAlert, actions: {})
}
}
struct ContentView: View {
@State private var showAlert: Bool = false
var body: some View {
Button("Show alert") {
showAlert = true
}
}
}
struct ContentView: View {
@State private var showAlert: Bool = false
// ...
}
@Observable
class ChatViewModel {
// ...
var scrollPosition: UUID? = nil
func sendMessage() {
guard canSendMessage else { return }
// In a real chat app this would make a server call to send the message
let message = Message(role: .sender, text: draftMessage)
SendMessageButton {
viewModel.sendMessage()
}
.disabled(!viewModel.canSendMessage)
struct ChatView: View {
@Bindable private var viewModel: ChatViewModel = ChatViewModel()
var body: some View {
NavigationStack {
VStack {
ChatMessagesList(viewModel: viewModel)
HStack {
MessageTextField(draftMessage: $viewModel.draftMessage)
import SwiftUI
struct ChatMessagesList: View {
@Bindable var viewModel: ChatViewModel
var body: some View {
ScrollView {
ForEach(viewModel.messages) { message in
MessageCell(message: message)