配列の数が0より大きいかどうかをテストしたい場合は、現在のビューを閉じます。手動でdo ... catchステートメントをキャッチするcatch
は、今のところ私はこのようにそれをやっている:カウントが0より大きくない場合、私はちょうど手動catch
にdo..catch
を送信できる場合
do {
let pets = try self.managedObjectContext.fetch(request)
guard pets.count > 0 else {
self.dismiss(animated: true, completion: nil)
}
dateCreated = Date(timeIntervalSince1970: Double(pets[0].dateCreated))
} catch {
self.dismiss(animated: true, completion: nil)
}
は、私は思ったんだけど、私は「ドンそのように2回書かれたself.dismiss(animated: true, completion: nil)
が必要です。これが可能なら誰でも知っていますか?
私はあなたの答えが私のものよりも好きですが、彼は投げがオプションであることを見なければならないと考えました。 @DanielT。 –
どのようなシナリオでも偽のエラーを投げるのは良い選択だとは思わない。たとえば、 'let onError:() - > Void = {self.dismiss(...)}'を定義して両方のブランチから 'onError'を呼び出すことで、重複を削除できます()。それは間違いを犯すよりも優れています。 – Sulthan
私は同意しますが、質問者または将来の読者がエラーが偽造されない場所を扱っているという大きな文脈があるかもしれません。私が言ったように、あなたの答えは尋ねられた正確な質問の方が良いです。 –