From de6a663bdf3a9f1d1dbd7ef60cb23df25789a866 Mon Sep 17 00:00:00 2001 From: YanAn Date: Fri, 17 Mar 2017 11:08:24 +0800 Subject: [PATCH] support setting message uid --- MessageKit/BaseMessageModel.swift | 9 +++++++-- MessageKit/CustomMessageModel.swift | 11 +++++++++-- MessageKit/FileMessageModel.swift | 11 +++++++++-- MessageKit/MessageItemProtocol.swift | 2 +- MessageKit/PhotoMessageModel.swift | 11 +++++++++-- MessageKit/TextMessageModel.swift | 11 +++++++++-- 6 files changed, 44 insertions(+), 11 deletions(-) diff --git a/MessageKit/BaseMessageModel.swift b/MessageKit/BaseMessageModel.swift index 194d7d9..133ce5f 100644 --- a/MessageKit/BaseMessageModel.swift +++ b/MessageKit/BaseMessageModel.swift @@ -28,13 +28,18 @@ public protocol MessageModelProtocol: MessageItemProtocol { public protocol DecoratedMessageModelProtocol: MessageModelProtocol { - var messageModel: MessageModelProtocol { get } + var messageModel: MessageModelProtocol { get set } } public extension DecoratedMessageModelProtocol { var uid: String { - return self.messageModel.uid + get { + return self.messageModel.uid + } + set { + self.messageModel.uid = newValue + } } var senderId: String { diff --git a/MessageKit/CustomMessageModel.swift b/MessageKit/CustomMessageModel.swift index 4097150..09f1332 100644 --- a/MessageKit/CustomMessageModel.swift +++ b/MessageKit/CustomMessageModel.swift @@ -15,9 +15,16 @@ public protocol CustomMessageModelProtocol: DecoratedMessageModelProtocol { open class CustomMessageModel: CustomMessageModelProtocol { - open let messageModel: MessageModelProtocol + open var messageModel: MessageModelProtocol open var customView: UIView - open var uid: String { return messageModel.uid } + open var uid: String { + get { + return messageModel.uid + } + set { + messageModel.uid = newValue + } + } public init(messageModel: MessageModelProtocol, customView: UIView) { self.messageModel = messageModel diff --git a/MessageKit/FileMessageModel.swift b/MessageKit/FileMessageModel.swift index 0c2594d..0bd7871 100644 --- a/MessageKit/FileMessageModel.swift +++ b/MessageKit/FileMessageModel.swift @@ -17,11 +17,18 @@ public protocol FileMessageModelProtocol: DecoratedMessageModelProtocol { open class FileMessageModel: FileMessageModelProtocol { - open let messageModel: MessageModelProtocol + open var messageModel: MessageModelProtocol open var fileName: String open var fileSize: String open var fileFolderColor: UIColor - open var uid: String { return messageModel.uid } + open var uid: String { + get { + return messageModel.uid + } + set { + messageModel.uid = newValue + } + } public init(messageModel: MessageModelProtocol, fileName: String, fileSize: String, fileFolderColor: UIColor) { self.messageModel = messageModel diff --git a/MessageKit/MessageItemProtocol.swift b/MessageKit/MessageItemProtocol.swift index ddf1368..b842b56 100644 --- a/MessageKit/MessageItemProtocol.swift +++ b/MessageKit/MessageItemProtocol.swift @@ -15,5 +15,5 @@ public protocol MessageItemProtocol: class, UniqueIdentificable { } public protocol UniqueIdentificable { - var uid: String { get } + var uid: String { get set } } diff --git a/MessageKit/PhotoMessageModel.swift b/MessageKit/PhotoMessageModel.swift index 48462be..41727cc 100644 --- a/MessageKit/PhotoMessageModel.swift +++ b/MessageKit/PhotoMessageModel.swift @@ -18,10 +18,17 @@ public typealias PhotoClosure = (_ imageview: UIImageView) -> () open class PhotoMessageModel: PhotoMessageModelProtocol { - open let messageModel: MessageModelProtocol + open var messageModel: MessageModelProtocol open let imageSize: CGSize open let imageClosure: PhotoClosure - open var uid: String { return messageModel.uid } + open var uid: String { + get { + return messageModel.uid + } + set { + messageModel.uid = newValue + } + } public init(messageModel: MessageModelProtocol, imageSize: CGSize, imageClosure: @escaping PhotoClosure) { self.messageModel = messageModel diff --git a/MessageKit/TextMessageModel.swift b/MessageKit/TextMessageModel.swift index 2f7891a..e1aacb5 100644 --- a/MessageKit/TextMessageModel.swift +++ b/MessageKit/TextMessageModel.swift @@ -15,9 +15,16 @@ public protocol TextMessageModelProtocol: DecoratedMessageModelProtocol { open class TextMessageModel: TextMessageModelProtocol { - open let messageModel: MessageModelProtocol + open var messageModel: MessageModelProtocol open let text: String - open var uid: String { return self.messageModel.uid } + open var uid: String { + get { + return messageModel.uid + } + set { + messageModel.uid = newValue + } + } public init(messageModel: MessageModelProtocol, text: String) { self.messageModel = messageModel