我有一个tableView,它显示用户的电子邮件和生日数据,问题是当前用户的电子邮件和生日也显示在列表中。如何避免这种情况?

这是我尝试过的代码,电子邮件来自emailList [indexPath.row]。

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "emailCell", for: indexPath)

    let snapshot = emailList[indexPath.row]

    if let userDictionary = snapshot.value as? [String:AnyObject] {
        if let email = userDictionary["email"] as? String {
        if let DOB = userDictionary["DOB"] as? String {

        cell.textLabel?.text = email
        cell.detailTextLabel?.text = DOB

          }
      }
  }


我想在tableView中查看用户电子邮件列表和出生日期,但没有当前用户信息。

最佳答案

获取当前用户数据和emailList后,您可以使用类似以下内容的过滤emailList

func downloadData(_ completionHandler: (AnyObject?) -> ()){
 let data:AnyObject? = //perform the logic to download data
 completionHandler(data)
}

override func viewDidLoad() {
    super.viewDidLoad()
    downloadData(){ data in
      //Do stuff with data - parse it etc.
       guard let emailList = emailList as? [[String:String]] // cast to the type you need
       else {
         return  // Do some error handling
       }
       let filteredData = emailList.filter { (dict: [String:String]) -> Bool in
         if dict["email"] == currentEmail && dict["user"] == currentUsername {
           return false
         }
         return true
       }
      self.tableView.delegate = self
      self.tableView.dataSource = self
    }
}

10-08 05:35