質問:
渡される列挙型が型である場合に、オプションではない型が渡されるように強制する方法で関数を定義するにはどうすればよい.Success
ですか? これができない場合、これをモデル化する最善の方法は何ですか?
環境:
API の周りに完了ハンドラー ベースのラッパーを作成しています。ハンドラーに戻されるパラメーターにはenum
、応答ステータスとUser
インスタンスを提供する が含まれます。は次のenum
ようなものです。
enum ResponseStatus : Int {
case Success = 200
case InvalidParameters = 422
// and a few more
}
メソッドのシグネチャは次のようになります。
static func createAccount(email: String, password: String, handler: (status: ResponseStatus, user: User?) -> ())
これに関する問題は、それがユーザーに.Success
返される可能性があることですが、これは発生するはずがありません。nil
.Success
が渡された場合、ユーザーは になれないことを強制できるようにしたいnil
。これはできますか?そうでない場合、それを管理する最善の方法は何ですか?
助けてくれてありがとう。
@AlexsanderAkers と @neilkimmett の両方からの素晴らしい回答。それらを区別する唯一のことは、アレックスがニールのほんの少し前に答えたことです. 両方ありがとう!