[解決済み] Swift: ガードレット vs if let
2022-04-22 03:40:53
質問
SwiftのOptionalについて読んでいて、以下のような例を見ました。
if let
は、Optional が値を保持しているかどうかをチェックし、保持している場合はラップされていない値で何かを行うために使用されます。
しかし、Swift 2.0では、キーワード
guard let
が多く使われています。しかし
if let
はSwift 2.0から削除されたのか、それともまだ使用可能なのか。
を含むプログラムを変更する必要があります。
if let
から
guard let
?
解決方法は?
if let
と
guard let
は、似ているが異なる目的を持つ。
の場合、quot;else"です。
guard
は現在のスコープを抜ける必要があります。一般に、それは
return
またはプログラムを中断します。
guard
は、関数の残りの部分をネストすることなく、早期に復帰させるために使用されます。
if let
はそのスコープを入れ子にし、特別なことを要求しない。それは
return
を使用するかどうか。
一般に、もし
if-let
ブロックが関数の残りの部分となるか、あるいはその
else
節には
return
またはアボートさせる場合は
guard
の代わりに これはしばしば(少なくとも私の経験では)、迷ったときは
guard
がベターな答えであることが多い。しかし
if let
が適切です。
関連
-
[解決済み] Swift言語におけるエクスクラメーションマークの意味とは?
-
スレッド1:シグナルSIGABRTの問題解決
-
[解決済み] Swift stdlib ツール エラー
-
[解決済み] Swiftで乱数を生成する方法とは?
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] Swiftで#pragmaマーク?
-
[解決済み] Swift Betaのパフォーマンス:配列のソート
-
[解決済み] Swiftの精密文字列フォーマット指定子
-
[解決済み】Swiftの構造体のために、メンバーごとの初期化子をデフォルトで公開するにはどうすればよいですか?
-
[解決済み】iOS8でSwiftを使用して特定のViewControllerのステータスバーの色を変更する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Swift 3、Swift 4、それ以降で dispatch_sync, dispatch_async, dispatch_after などはどうすればいいですか?
-
[解決済み] タイプ 'StorageMetadata' の値には、メンバー 'downloadURL' がありません。
-
[解決済み] SwiftのIF LETはどのように評価されるのですか?
-
[解決済み] Swiftベースのアプリケーションは、OS X 10.9/iOS 7以下でも動作しますか?
-
[解決済み】SwiftでFloatをIntに変換する。
-
[解決済み】プロパティのゲッターとセッター
-
[解決済み】Xcode 8 Beta 3 Legacy Swiftを使用する問題
-
[解決済み】Swiftのガードキーワード
-
[解決済み】swiftでDoubleを最も近いIntに丸めるには?
-
[解決済み】UIViewControllerの最上位機種を取得する。