【问题标题】:How to add function after the "return data"如何在“返回数据”后添加功能
【发布时间】:2022-01-12 20:02:54
【问题描述】:

我有一个问题,我的程序可以运行,但某些代码无法运行。没有错误,但它有一个警告标志说“返回后的代码将不会执行”。我想要一个帮助。谢谢

@IBAction func newBookTapped(_ sender: Any) {
   guard let uid = Auth.auth().currentUser?.uid,
          let data = bookData() else { 
      return
   }

   db.collection("new reading").document(uid).setData(data)
}
            
        
func bookData() -> [String: Any]? {
   guard let title = bookTitleTextField.text,
         let author = bookAuthorTextField.text,
         let summary = bookSummaryTextField.text else {
      return nil
   }

   let data: [String: Any] = [
      "bookTitle": title,
      "bookAuthor": author,
      "bookSummary": summary
    ]
                
    return data
        
    self.transitionToMenu()
}
    
    
func transitionToMenu() {
   let alert = UIAlertController(title: nil, message: "Book has been saved!", preferredStyle:  .alert)
   alert.view.alpha = 0.5
   alert.view.layer.cornerRadius = 15
   self.present(alert, animated: true)
   DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 2) {
      if let navController = self.navigationController {
          navController.popViewController(animated: true)
      } else {
          self.dismiss(animated: true, completion: {})
      }
   }
}

My program photo

【问题讨论】:

  • 您为什么使用[String: Any] 来存储您的数据?由于它是从文本字段中获取的,因此您知道字典的值类型是 String

标签: swift xcode mobile-application


【解决方案1】:

返回时,您结束函数并返回调用,因此函数中返回后的任何内容都无法执行。

您必须将self.transitionToMenu() 放在return data 之前。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-16
    • 2016-05-05
    • 1970-01-01
    • 2016-07-06
    • 1970-01-01
    • 2017-08-26
    • 2019-07-06
    • 1970-01-01
    相关资源
    最近更新 更多