var a = UILabel()
var a: UILabel!
この違いを教えてください
お願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
Swiftは型推論という機能があり、変数宣言時に型を省略することができますが、おそらくそれが原因でこんがらがっているのではないかと思います。
var a = UILabel()
は
var a: UILabel = UILabel()
と等価です。つまりaにはUILabel()のインスタンスが格納されています(ちなみにこちらの書き方ではnilは代入できません)。
var a: UILabel!
↑はUILabel!
型の変数を宣言しただけで、中身はnilです。あとからUILabel型のインスタンスを代入できます。
投稿2018/10/30 05:48
総合スコア8356
0
ベストアンサー
swift
1var a = UILabel() // aという変数を宣言してUILabel()を代入するよ 2var a: UILabel! // aというUILabel!型の変数を宣言するよ
swift
1var x = 1 // xという変数を宣言して1を代入するよ 2var x : Int // xというInt型の変数を宣言するよ
投稿2018/10/30 05:32
編集2018/10/30 05:40総合スコア13521
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
ご回答ありがとうございます。いまだにその二つの違いがわかりません、何か簡単な例を出して頂けるとわかるかもしれません。申し訳ないです。
2018/10/30 05:44
なんとなくわかりました、ありがとうございます。大体上のやつで用足りると思ったんですが間違いですかね?
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。