我可以返回 nil 而不是元组吗?

Can I give back nil instead of a tuple?

我的第一个代码版本运行良好:

return Question.find(o.questionId, on: req.db).map { q in
   guard let q = q else {
      return nil
   }
   return GetUserQuestionsOut(text: q.text, questionId: q.id!)
}

但是如果我使用元组,我会发现 'nil' 与 return 类型不兼容:

return Question.find(o.questionId, on: req.db).map { q -> (String, GetUserQuestionsOut) in
guard let q = q else {
  return nil
} ...

我可以/如何返回 nil 而不是元组?

你试过吗,

... { q -> (String?, GetUserQuestionsOut?) in

  }

 ... { q -> (String, GetUserQuestionsOut)? in

  }

另一方面,也许你可以考虑使用 struct(model) 或 typealias 而不是 tuple