用Swift构建一个简单的iOS邮件应用的方法

2020-01-08 22:58:09刘景俊


标记为已读

在我们的 swift 示例程序中,我们要在用户摇动手机的时候,把当前线程标记为已读,并且显示一个新的线程。用InboxKit,标记为已读是非常简单的。
 

复制代码 override func motionEnded(motion: UIEventSubtype, withEvent event: UIEvent!) {
    if (motion == UIEventSubtype.MotionShake) {
        var items = self.threadProvider!.items
        if let thread = items[0] as? INThread {
            thread.markAsRead()
        }
    }}

 

在后台,-markAsReadqueues这个方法使新的API动作进入队列,通过这种行为来从线程中移除未读标签。 INThread对象和本地存储的数据会被立刻更新,但是这个动作将会在手机上排队,直到可以建立
连接。如果服务器拒绝这次的动作,那么本地的数据也会回滚。

我们不需要刷新我们的线程供应者-我们的工作已经完成!如果当前线程被标记为已读,那么它就不再需要满足我们线程供应者结果集的标准.供应者会自动
匹配它的内容,并且调用providerDataChanged方法,我们实现的代理方法将会刷新我们显示,来展现新集合中的第一个线程。

接下来的步骤

好了! 只用了几十行代码,我们就创建了一个示例程序,它可以从我们的收件箱一条条的获取线程,并且让我们标记为已读.现在它仅仅需要点动画和润色.你可以从这里查看demo的源码:
: SwiftEightBall Sample App

我们仅仅接触了InboxKit的一些浅显的东西.在IOS SDK的上层创建我们的swift应用,这意味着我们需要为模型获取本地类的支持,比如线程和通讯录,
以及因为支持延时线程和消息动作的SQLite而变得更强大的离线缓存.
看看iOS SDK documentation 学习一下更多关于在邮件上层创建美观大方应用的知识.



注:相关教程知识阅读请移步到swift教程频道。