修改消息
您在成功发送超级群消息后,可以主动修改已发送消息的消息内容。
监听远端用户的消息变更
您可以通过设置 setRCUltraGroupMessageChangeDelegate
代理来监听远端用户对消息的修改操作:
- 设置
setRCUltraGroupMessageChangeDelegate:
代理:
Objective C
[[RCChannelClient sharedChannelManager] setRCUltraGroupMessageChangeDelegate:self];
- 实现
onUltraGroupMessageModified:
消息变更代理方法,当远端用户修改消息时,会触发此方法同时 RCMessage 对象中的hasChanged
变更为YES
:
Objective C
/*!
消息内容发生变更
@param messages 消息集合
*/
- (void)onUltraGroupMessageModified:(NSArray<RCMessage*>*)messages {
}
修改本端用户已发消息的内容
本端用户发送消息成功后服务端会返回消息的 messageUId。如果需要修改消息内容,可以使用 modifyUltraGroupMessage
方法,传入待修改消息的 messageUId 和新的消息内容进行修改。
消息被修改后,RCMessage
对象的 hasChanged
属性会被更新为 YES
。
提示
- 消息类型无法修改。如果改前为文本消息,则传入的新消息内容必须为
RCTextMessage
类型。 - 无法修改他人发送的消息。
接口原型
Objective C
- (void)modifyUltraGroupMessage:(NSString *)messageUId
messageContent:(RCMessageContent *)newContent
success:(nullable void (^)(void))successBlock
error:(nullable void (^)(RCErrorCode status))errorBlock;
参数说明
参数 | 类型 | 说明 |
---|---|---|
messageUId | NSString | 消息发送成功后,服务端返回的。 messageUId |
newContent | RCMessageContent | 新的消息内容。 |
successBlock | Block | 修改消息成功的回调。 |
errorBlock | Block | 修改消息失败的回调。 |
示例代码
Objective C
RCTextMessage *newTextMessageContent = [RCTextMessage messageWithContent:@"修改后的文本消息内容"];
[[RCChannelClient sharedChannelManager] modifyUltraGroupMessage:messageUId
messageContent:textMessage
success:^{ }
error:^(RCErrorCode status) {}];