質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

2回答

208閲覧

Xcode オプショナル型

kento0-801

総合スコア11

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2017/12/07 06:55

編集2017/12/07 07:08

イメージ説明

このコードになぜ guard が使われているかわかりません。
オプショナル型の関数を宣言していないなら guard を使用する必要性がわかりません。
プログラミング初心者です。

「追記」

if answer == self.correct

にある self はどのような働きをしているのですか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fuzzball

2017/12/07 07:11

コードは画像ではなくテキストで書いて下さい。コピペ出来ません。
xAxis

2017/12/07 07:11

質問をするときは確かに画像を貼ってしまいたくなるのですがこういう場合はちゃんとコードを貼り付けましょう。
kento0-801

2017/12/07 07:14

指摘ありがとうございます。以後気をつけます
guest

回答2

0

質問中にある定数answerにはnilが入る可能性があるからです。
例えばこんなコード

swift

1var str = "Hello, playground" 2 3 4let num = Int(str) 5print(num) //nil

こうするとnumにはnilが入ります。

もっというとtextFieldにはいろんな文字が入れられます。数字はもちろん入りますがひらがなカタカナ漢字アルファベット・・・いろいろです。なので推察するに数字以外のものが入ってたら早めにreturnする、って意味合いじゃないでしょうかね。

そして上記のselfですがこの場合ViewControllerそのもの(インスタンス)になります(selfは場合によって何を指してるか変わる場合があります)。なのでself.correctというのはViewControllerのメンバであるcorrectを指してます。この場合selfはあってもなくても良い気がしますが書いた方が読みやすいという事で書いてるんじゃないでしょうか。

投稿2017/12/07 07:21

xAxis

総合スコア1349

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kento0-801

2017/12/07 07:35

とてもわかりやすい解説ありがとうございます!! 納得しました。
guest

0

ベストアンサー

Int(nytextfield.text!)がnilだったら、つまり、nytextfield.textがIntに変換出来ない文字列だったら、guardに引っ掛かって何もせずにreturnします。

【追記】

selfは自分自身で、self.correctは自分自身のcorrectプロパティということです。

投稿2017/12/07 07:10

編集2017/12/07 07:14
fuzzball

総合スコア16731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

xAxis

2017/12/07 07:25

被っちゃいました。すいません。
fuzzball

2017/12/07 07:35

+1の刑に処す。
xAxis

2017/12/07 12:30

お代官様ご無体なぁ〜!!
xAxis

2017/12/07 12:30

シンプルな回答の方がかっこいいのでfuzzballさんの回答に+1です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問