Set message content
The current iOS SDK does not expose a standalone NCEngine.setMessageContent(...) API.
To update a message through the published API surface, use BaseChannel.updateMessage(params:completion:) (Objective-C selector: +[NCBaseChannel updateMessageWithParams:completion:]) with UpdateMessageParams (NCUpdateMessageParams in Objective-C).
Update a message
Method signature
- Swift
- Objective-C
swift
import NexconnChatSDK
static func updateMessage(
params: UpdateMessageParams,
completion: ((Message?, NCError?) -> Void)?
)
// Called as: BaseChannel.updateMessage(params:completion:)
Objective C
+ (void)updateMessageWithParams:(NCUpdateMessageParams *)params
completion:(nullable void (^)(NCMessage * _Nullable message, NCError * _Nullable error))completion;
Parameters
| Parameter | Type | Description |
|---|---|---|
params | NCUpdateMessageParams * | Update parameters. messageId is required and identifies the server message to update. content is required and contains the replacement NCMessageContent. |
completion | Block | Completion callback. Returns NCMessage on success, or NCError on failure. |
Return value
The completion callback returns the updated NCMessage object on success.
Source-aligned notes
- The current public SDK exposes
updateMessageWithParams:completion:and does not expose a separatesetMessageContentAPI. NCUpdateMessageParamscontains onlymessageIdandcontent. Public params do not includeobjectNameorsearchWords.
Example
- Swift
- Objective-C
swift
import NexconnChatSDK
let content = TextMessage(text: "Updated message body")
let params = UpdateMessageParams(messageId: "message_id", content: content)
BaseChannel.updateMessage(params: params) { message, error in
if let error {
print("Failed to update message: \(error.localizedDescription)")
} else {
print("Updated message: \(message?.messageId ?? "")")
}
}
Objective C
NCTextMessage *content = [[NCTextMessage alloc] initWithText:@"Updated message body"];
NCUpdateMessageParams *params =
[[NCUpdateMessageParams alloc] initWithMessageId:@"message_id" content:content];
[NCBaseChannel updateMessageWithParams:params
completion:^(NCMessage * _Nullable message, NCError * _Nullable error) {
if (error == nil) {
NSLog(@"Updated message: %@", message.messageId);
} else {
NSLog(@"Failed to update message: %@", error);
}
}];