Set message content
The current iOS SDK does not expose a standalone NCEngine.setMessageContent(...) API.
To modify a message through the published API surface, use BaseChannel.modifyMessage(params:completion:) (Objective-C selector: +[NCBaseChannel modifyMessageWithParams:completion:]) with ModifyMessageParams (NCModifyMessageParams in Objective-C).
Modify a message
Method signature
- Swift
- Objective-C
swift
import NexconnChatSDK
static func modifyMessage(
params: ModifyMessageParams,
completion: ((Message?, NCError?) -> Void)?
)
// Called as: BaseChannel.modifyMessage(params:completion:)
Objective C
+ (void)modifyMessageWithParams:(NCModifyMessageParams *)params
completion:(nullable void (^)(NCMessage * _Nullable message, NCError * _Nullable error))completion;
Parameters
| Parameter | Type | Description |
|---|---|---|
params | NCModifyMessageParams * | Modification 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
modifyMessageWithParams:completion:and does not expose a separatesetMessageContentAPI. NCModifyMessageParamscontains onlymessageIdandcontent. Public params do not includeobjectNameorsearchWords.
Example
- Swift
- Objective-C
swift
import NexconnChatSDK
let content = TextMessage(text: "Updated message body")
let params = ModifyMessageParams(messageId: "message_id", content: content)
BaseChannel.modifyMessage(params: params) { message, error in
if let error {
print("Failed to modify message: \(error.localizedDescription)")
} else {
print("Modified message: \(message?.messageId ?? "")")
}
}
Objective C
NCTextMessage *content = [[NCTextMessage alloc] initWithText:@"Updated message body"];
NCModifyMessageParams *params =
[[NCModifyMessageParams alloc] initWithMessageId:@"message_id" content:content];
[NCBaseChannel modifyMessageWithParams:params
completion:^(NCMessage * _Nullable message, NCError * _Nullable error) {
if (error == nil) {
NSLog(@"Modified message: %@", message.messageId);
} else {
NSLog(@"Failed to modify message: %@", error);
}
}];