JCChatViewData.swift 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. //
  2. // JCChatViewData.swift
  3. // JChat
  4. //
  5. // Created by deng on 10/04/2017.
  6. // Copyright © 2017 HXHG. All rights reserved.
  7. //
  8. import UIKit
  9. internal class JCChatViewData: NSObject, NSCopying {
  10. internal override init() {
  11. self.elements = []
  12. super.init()
  13. }
  14. internal init(elements: [JCMessageType]) {
  15. self.elements = elements
  16. super.init()
  17. }
  18. internal var count: Int {
  19. return elements.count
  20. }
  21. func copy(with zone: NSZone? = nil) -> Any {
  22. return JCChatViewData(elements: self.elements)
  23. }
  24. internal subscript(index: Int) -> JCMessageType {
  25. return elements[index]
  26. }
  27. internal func subarray(with subrange: Range<Int>) -> Array<JCMessageType> {
  28. return Array(elements[subrange])
  29. }
  30. internal func replaceSubrange(_ subrange: Range<Int>, with collection: Array<JCMessageType>) {
  31. elements.replaceSubrange(subrange, with: collection)
  32. }
  33. internal var elements: [JCMessageType]
  34. }