本篇文章中你将会学到
- 从Parse服务器下载聊天数据并显示到TableView中
- 实现发送消息功能,并加载到TableView中
- 使用Alamofire网络请求库,调用图灵机器人api获得回复信息
- 保存聊天信息到Parse服务器中
首先下载本篇文章的初始项目,也就是上一篇文章完成的项目,如果你跟着我的文章做了,也可以直接打开上一篇文章的完成项目:
百度网盘下载地址从Parse服务器下载聊天数据并显示到TableView中
打开 AppDelegate.swift文件,解除方法
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool
中以下这行代码的注释:1//Parse.setApplicationId("CYdFL9mvG8jHqc4ZA5PJsWMInBbMMun0XCoqnHgf", clientKey: "6tGOC1uIKeYp5glvJE6MXZOWG9pmLtMuIUdh2Yzo")与Parse服务器建立连接。
然后打开ChatViewController.swift,找到viewDidLoad()方法,删除其中的假数据:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
messages = [ [ Message(incoming: true, text: "你叫什么名字?", sentDate: NSDate(timeIntervalSinceNow: -12*60*60*24)), Message(incoming: false, text: "我叫灵灵,聪明又可爱的灵灵", sentDate: NSDate(timeIntervalSinceNow:-12*60*60*24)) ], [ Message(incoming: true, text: "你爱不爱我?", sentDate: NSDate(timeIntervalSinceNow: -6*60*60*24 - 200)), Message(incoming: false, text: "爱你么么哒", sentDate: NSDate(timeIntervalSinceNow: -6*60*60*24 - 100)) ], [ Message(incoming: true, text: "北京今天天气", sentDate: NSDate(timeIntervalSinceNow: -60*60*18)), Message(incoming: false, text: "北京:08/30 周日,19-27° 21° 雷阵雨转小雨-中雨 微风小于3级;08/31 周一,18-26° 中雨 微风小于3级;09/01 周二,18-25° 阵雨 微风小于3级;09/02 周三,20-30° 多云 微风小于3级", sentDate: NSDate(timeIntervalSinceNow: -60*60*18)) ], [ Message(incoming: true, text: "你在干嘛", sentDate: NSDate(timeIntervalSinceNow: -60)), Message(incoming: false, text: "我会逗你开心啊", sentDate: NSDate(timeIntervalSinceNow: -65)) ], ] |
替换为函数调用,这个函数用于从Parse数据库加载聊天记录
1 |
initData() |
新建initData()方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
func initData(){ var index = 0 var section = 0 var currentDate:NSDate? //1 var query:PFQuery = PFQuery(className:"Messages") query.orderByAscending("sentDate") //2 for object in query.findObjects() as! [PFObject]{ let message = Message(incoming: object["incoming"] as! Bool, text: object["text"] as! String, sentDate: object["sentDate"] as! NSDate) if index == 0{ currentDate = message.sentDate } |