NoChatTG 0.2.1

NoChatTG 0.2.1

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2016年6月
SPM支持 SPM

段英伦 维护。



NoChatTG 0.2.1

  • 作者
  • 段英伦

NoChat

NoChat 是一个基于 Chatto 的 Swift 轻量级聊天框架。
与 NoChat 一起,有三个配套框架:NoChatTG、NoChatMM、NoChatSLK。
这些配套框架只是不同的用户界面,你可以使用 NoChat 定制自己的 :].

     

特性

  • 在后台计算集合视图更改和布局
  • 支持双向分页和自动加载
  • 消息计数竞争,以实现快速分页和旋转数千条信息
  • 支持自定义消息气泡和工具栏
  • 反转模式

要求

  • iOS 8.0+
  • Xcode 7.3 或更高版本

安装

使用

导入你想要使用的框架

import NoChat

你可以创建一个 ChatViewController 的子类,并提供数据。

class TGChatViewController: ChatViewController {

    // ...

    override func viewDidLoad() {
        inverted = true
        super.viewDidLoad()
    }


    // Setup chat items
    override func createPresenterBuilders() -> [ChatItemType: [ChatItemPresenterBuilderProtocol]] {
        return [
            DateItem.itemType : [
                DateItemPresenterBuider()
            ],
            MessageType.Text.rawValue : [
                MessagePresenterBuilder<TextBubbleView, TGTextMessageViewModelBuilder>(
                    viewModelBuilder: TGTextMessageViewModelBuilder(),
                    layoutCache: messageLayoutCache
                )
            ]
        ]
    }

    // Setup chat input views
    override func createChatInputViewController() -> UIViewController {
        let inputController = NoChatTG.ChatInputViewController()

        // ...

        return inputController
    }

    // ...

}

我还建议你使用 NoChat 提供的协议自定义聊天视图控制器。我的意思是,你不需要 NoChat.ChatViewController 就可以编写自己的 ChatViewController。源代码是智慧,而不仅仅是代码,我认为。

架构

聊天 UI 的架构看起来像这样:Mind

更多信息

请参阅内部示例项目。

关于名字

为什么叫它 NoChat?因为老板让我们写了太多带有聊天界面的应用程序,抱歉我真的不想再写聊天界面了😢

源代码在MIT许可证下分发。