我可以返回 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
我的第一个代码版本运行良好:
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