[解決済み] Swift Optionals - 条件の変数バインディングはイニシャライザを必要とする
2022-02-14 12:10:50
質問
私はSwiftの初心者で、Optionalの概念を理解しようとしています。私はプレイグラウンドでコードの小さな部分を持っており、それは私に"条件内の変数バインディングは、初期化子を必要とする"エラーを与えている。誰かが、なぜ、どのように私はそれを修正する方法を説明することができますか?
私は、"score1"が値を持つかどうかによって、"Yes"か"No"を表示したいだけなのです。以下はそのコードです。
import Cocoa
class Person {
var score1: Int? = 9
func sum() {
if let score1 {
print("yes")
} else {
print("No")
}
}//end sum
}// end person
var objperson = person()
objperson.sum()
解決方法は?
if let文は、オプションの変数を取ります。それがnilの場合、elseブロックまたは何も実行されません。もし値があれば、その値は非オプション型として別の変数に代入されます。
つまり、以下のコードでは、score1の値を出力するか、何もなければ"No"を出力することになります。
if let score1Unwrapped = score1
{
print(score1Unwrapped)
}
else
{
print("No")
}
同じものを短くすると、こうなります。
print(score1 ?? "No")
オプショナル変数に格納された値を実際に使用しないあなたの場合、値がnilであるかどうかをチェックすることも可能です。
if score1 != nil {
...
}
関連
-
[解決済み] Swift Optionals - 条件の変数バインディングはイニシャライザを必要とする
-
[解決済み] このコンテキストで型検索を行う場合、「メソッド」は曖昧である、Alamofireのエラー
-
Swift タイプの表現は、より多くの文脈がないと曖昧である。
-
[解決済み] SwiftはPass By ValueかPass By Referenceか
-
[解決済み] Swiftの精密文字列フォーマット指定子
-
[解決済み] Swiftの'open'キーワードは何ですか?
-
[解決済み】Swiftで変数の型またはクラスを表示するにはどうすればよいですか?
-
[解決済み】weak referenceとunowned referenceの違いは何ですか?
-
[解決済み】Swiftで列挙型の値の名前を取得する方法は?
-
[解決済み] Swiftです。nilのオプショナルをテストする
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] これを解決するにはどうしたらいいのでしょうか。UILabel.textは、メインスレッドからのみ使用する必要があります。
-
[解決済み] Swiftで文字列が別の文字列を含んでいるかどうかを確認するには?
-
[解決済み] タイプ 'StorageMetadata' の値には、メンバー 'downloadURL' がありません。
-
[解決済み] 純粋な」Swift で弱いプロトコル参照を作るには (@objc なしで) どうしたらいいですか?
-
[解決済み] なぜクラスではなくストラクチャーを選ぶのか?
-
[解決済み] 2倍値を小数点以下x桁に丸める処理を素早く行う。
-
[解決済み] SwiftでStringのサブストリングはどのように動作するか
-
[解決済み】Swiftの辞書にキーが含まれているかどうかを判断し、その値を取得する。
-
[解決済み】プログラムによってナビゲーションのタイトルを変更する
-
[解決済み] 非同期ネットワークリクエストのswift forループの実行が終了するまで待つ