Skip to main content

Update a message

The Chat SDK supports updating the content of all storable message types, including text, image, GIF, voice, video, reference, file, and custom messages.

Update a message

In Swift, call BaseChannel.updateMessage(params:completion:) to update message content. The Objective-C selector is shown in the secondary tab.

swift
import NexconnChatSDK

guard let messageContent = message.content as? TextMessage else {
return
}

messageContent.text = "Updated text"

let params = UpdateMessageParams(
messageId: message.messageId,
content: messageContent
)

BaseChannel.updateMessage(params: params) { updatedMessage, error in
guard let updatedMessage, error == nil else {
print("Failed to update message: \(error?.localizedDescription ?? "unknown error")")
return
}

print("Updated message: \(updatedMessage.messageId)")
}
PropertyTypeDescription
messageIdNSStringServer message ID (message.messageId)
contentNCMessageContentUpdated message content

Listen for updates

Other devices and users receive update callbacks via MessageHandler:

swift
import NexconnChatSDK

final class MessageEditHandler: NSObject, MessageHandler {
func start() {
NCEngine.addMessageHandler(identifier: "MyHandler", handler: self)
}

func onMessagesUpdated(_ event: MessagesUpdatedEvent) {
print("Updated messages: \(event.messages.count)")
}

func onUpdatedMessageSyncCompleted(_ event: UpdatedMessageSyncCompletedEvent) {
print("Updated message sync completed.")
}
}