获取Swift 3中的所有消息

时间:2016-12-29 20:16:47

标签: ios swift string core-data

所以我在Swift 3中构建了一个聊天应用程序,最近遇到的问题是我希望我的用户能够滚动浏览所有消息,而不必等待获取消息(不会被中断)。

为了实现这一点,我尝试将用于获取以前消息的方法设置为尽可能高的数字。现在我认为必须有一个更聪明的解决方案,因为一个常数将是愚蠢的。

func configureComponents() {        
  let coreData = CoreDataStack.shared

  UserDefaults.standard.set(userName, forKey: "user")

  if coreData.fetch(user: userName) == nil {
    coreData.save(user: userName)
  }


  let messages = coreData.fetch(amount: 1000000, from: user)
  fillMessages(messages: messages)

}


func loadEarlierMessages() {
  let messages = coreData.fetch(amount: 1000, from: user)

  guard messages.count > 0 else {
    return
  }
  self.insertAtStart(messages: messages)
  var indexPaths = [IndexPath]()
  var index = 0
  for _ in 0...messages.count-1 {
    indexPaths.append(IndexPath(row: index, section: 0))
    index += 1
  }
  DispatchQueue.main.async {
    self.collectionView.performBatchUpdates({
      self.collectionView.insertItems(at: indexPaths)
      }, completion: nil)
  }

}

这是我写的代码。

现在的问题是:您是否知道另一种方法来获取所有消息而不仅仅是我现在提取的1000个消息?

提前致谢!

0 个答案:

没有答案