列挙型


Result


成功または失敗のいずれかを表す値。それぞれのケースに関連した値が含まれます。


iOS 8.0+ iPadOS 8.0+ Mac Catalyst 13.0+ macOS 10.10+

tvOS 9.0+ visionOS 1.0+ watchOS 2.0+

@frozen
  enum Result<Success, Failure> where Failure : Error, Success : ~Copyable, Success : ~Escapable





以下で言及


throw する式の結果の保存


失敗可能な非同期 API の記述






トピックス


結果の表現


case success(Success)

成功。Success の値を保存します。


case failure(Failure)

失敗。Failure の値を保存します。


失敗可能な非同期 API の記述

エラーを同期的に返すことができない場合は、API の一部として結果を提供します。



Throw する式を結果に変換する


throw する式の結果の保存

結果を直列化またはメモ化する必要がある場合は、throw する式を包み込むイニシャライザーを呼び出します。


init(catching: () throws(Failure) -> Success)

throw するクロージャを評価し、返された値を成功としてキャプチャするか、throw されたエラーを失敗としてキャプチャすることにより、新しい結果を作成します。



結果を throw する式に変換する


func get() throws(Failure) -> Success

成功の値を throw する式として返します。



結果の変換


func map<NewSuccess>((Success) -> NewSuccess) -> Result<NewSuccess, Failure>

与えられた変換を使用して成功の値をマッピングし、新しい結果を返します。


func mapError<NewFailure>((Failure) -> NewFailure) -> Result<Success, NewFailure>

与えられた変換を使用して失敗の値をマッピングし、新しい結果を返します。


func flatMap<NewSuccess>((Success) -> Result<NewSuccess, Failure>) -> Result<NewSuccess, Failure>

与えられた変換を使用して成功の値をマッピングし、生成された結果を開封して、新しい結果を返します。


func flatMapError<NewFailure>((Failure) -> Result<Success, NewFailure>) -> Result<Success, NewFailure>

与えられた変換を使用して失敗の値をマッピングし、生成された結果を開封して、新しい結果を返します。



結果の比較


static func == (Result<Success, Failure>, Result<Success, Failure>) -> Bool

2 つの値が等しいかどうかを示すブール値を返します。


static func != (Self, Self) -> Bool

2 つの値が等しくないかどうかを示すブール値を返します。



結果の公開


var publisher: Result<Success, Failure>.Publisher

このインスタンスの結果を各購読者に厳密に 1 回だけ公開するか、結果が失敗を示している場合は直ちに失敗する Combine 発行者。


struct Publisher

このインスタンスの結果を各購読者に厳密に 1 回だけ公開するか、結果が失敗を示している場合は直ちに失敗する Combine 発行者の型。



デフォルトの実装


Equatable の実装


Hashable の実装





関連


以下に準拠


Copyable

Success が Copyable に準拠し、Failure が Error に準拠する場合に準拠します。


Equatable

Success が Equatable に準拠し、Failure が Equatable に準拠し、Failure が Error に準拠する場合に準拠します。


Hashable

Success が Hashable に準拠し、Failure が Error に準拠し、Failure が Hashable に準拠する場合に準拠します。


Sendable

Success が Sendable に準拠し、Failure が Error に準拠する場合に準拠します。


SendableMetatype

Success が Sendable に準拠し、Failure が Error に準拠する場合に準拠します。





以下も見よ


エラー


protocol Error

throw される可能性のあるエラー値を表す型。














トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ