Enviando uma mensagem
Na etapa anterior, você aprendeu sobre conversas e eventos; ao enviar uma mensagem, cria-se um novo evento e ele é enviado pelo cliente.
Para enviar uma mensagem, atualize o Task no Button na visualização:
struct ChatView: View {
...
HStack {
TextField("Message", text: $message)
Button("Send") {
Task {
await chatViewModel.sendMessage(message)
self.message = ""
}
}.buttonStyle(.bordered)
}.padding(8)
}
Isso chamará um sendMessage função no ChatViewModel que você criará em seguida, então ele define message para uma string vazia, o que apagará o texto digitado. Em seguida, adicione sendMessage para o ChatViewModel classe:
@MainActor
final class ChatViewModel: NSObject, ObservableObject {
...
func sendMessage(_ message: String) async {
_ = try? await client.sendMessageTextEvent(conversationID, text: message)
}
}
Para enviar uma mensagem de texto, você liga para sendMessageTextEvent no cliente com o ID da conversa e a mensagem. Se for bem-sucedido, didReceiveConversationEvent no VGChatClientDelegate será chamado. Isso anexará o evento ao events matriz que atualizará automaticamente a interface do usuário.
Compilar e executar
Cmd + R para compilar e executar novamente. Agora você tem um aplicativo de bate-papo em funcionamento! Para conversar simultaneamente, você pode executar o aplicativo em dois simuladores/dispositivos diferentes:

Criação de um aplicativo de bate-papo para iOS
Crie uma aplicação para iOS que permita que os usuários troquem mensagens entre si