当前位置: 首页 > 开发杂谈 >

Day#26 传送对话(1)

前言

前一天结束在点选某个搜寻到的使用者,今天接着做跟该使用者展开对话吧!

New Conversation

NewConversationViewController

我们将该点选的使用者指定给targetUserData,然後把这个资料推到已存在的对话纪录table当中,因此需要新增一个closure使用。

public var completion: (([String: String]) -> (Void))?

然後在昨天新增的地方,接续新对话的开启,我们加上程序

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    tableView.deselectRow(at: indexPath, animated: true)

    let targetUserData = results[indexPath.row]

    dismiss(animated: true, completion: {
        self?.completion?(targetUserData)
    })
}

ConversationViewController

didTapComposeButton

那由於刚刚新增了closure,我们要修改didTapComposeButton程序如下,也就是把closure实作加上去

@objc private func didTapComposeButton() {
    let vc = NewConversationViewController()
    vc.completion = { [weak self] result in
        print("\(result)")
        self?.createNewConversation(result: result)
    }
    let navVC = UINavigationController(rootViewController: vc)
    present(navVC, animated: true)
}

而其中的createNewConversation方法呢,也一起新增

private func createNewConversation(result: [String:String]) {
    let vc = ChatViewController()
    vc.title = ""
    vc.navigationItem.largeTitleDisplayMode = .never
    navigationController?.pushViewController(vc, animated: true)
}

其实跟先前mock过的内容一样,就先放过来!

结语

今天的内容很短...因为一直有bug,但我还在找@@
可能明天先跳回profile picture的部分~也不一定!

若上述内容有误或可以改进的部分,欢迎留言以及提出任何指教~
谢谢 ヘ| ´ω` |ノ


相关文章:

  • 外贸人怎样充分发挥电子邮件营销的效益
  • android studio 30天学习笔记-day 11-介绍databinding(一)
  • Day 5 - Flex Panels Image Gallery
  • 05 | WordPress 标题区块 Heading Block
  • wish平台A+物流计划订单配送仓库地址分享
  • DAY 2 - 灯笼小怪
  • Day13:13 - 购物车服务(1) - 後端 - 购物车总商品显示、加入购物车API
  • 亚马逊平台要注意的几点运营规则
  • 跨境卖家接触网红时要避开的3个大坑
  • Day14-守护饼乾大作战(一)
  • 【在 iOS 开发路上的大小事-Day03】透过 Global Variable 来传值
  • 出口退运货物进口报关流程
  • Shopee卖家关于广告预热必知的一些问题
  • 亚马逊如何选择有头程服务的西班牙海外仓?
  • [day-11] 一切的基础! Python "运算式与算符"的运用(Part .1)
  • 免费VPS/腾讯云国际版/免费送300美金/有效期6个月
  • Akaxin:开源社交软件/加密聊天/打造你自己的社交产品
  • 一键脚本:SmokePing一键安装/管理脚本
  • MySQL mysqldump怎么用?MySQL怎么用mysqldump导入导出数据
  • 移动怎么开通香港电话号码
  • WordPress 调试模式基本指南
  • 寻找印度市场伙伴
  • 阿里云OSS对象存储控制客户端
  • DGCHOST稳定吗?现在还可以购买DGCHOST的服务器VPS吗
  • 搬瓦工VPS注册购买教程 – 支付宝BandwagonHost购买方法教程
  • WordPress 5.7.2 修复 PHPMailer 安全漏洞,请及时更新
  • 企业网站如何无损换域名
  • PHP安装环境怎么搭建(LAMP环境怎么搭建):教你搭建PHP+Mysql服务器环境
  • Google Play Store报错DF-DFERH-01怎么办
  • 教程/魔改BBR 一键安装脚本 for CentOS/Debian 7+