【2日目】中卒が本気で「Swift」を学ぶ実践記

どうも、はるかす(@mametyralove)です。

さてSwift2日目です。

昨日はXcodeのインストール時間が長くてタイムアップ。
今日はもうインストールが終わっています。
なので早速やって行きますよ〜

Playground

とりあえず「Swift 入門」で検索して出てきたのがこの「Playground」というものです。

Swiftのプログラムを書いた時にすぐに結果を出してくれるそうで非常に便利そうに見えますが、どうせ最終的にXcodeでやるんでしょって思って使わないことにしました。
PlaygroundもXcodeの中に入っているのでXcodeと言えばそうかもしれませんが、とりあえず使いません。

この記事を見ている方で、どうしてもPlaygroundを使った方が良いと思われる方は是非ご一報ください。
お願いします。

やっとXcodeが使える

やっとXcodeを使えますね。
とりあえずサイトの指示通りにプロジェクトを一つ作ってみました。

そしたらフォルダの中にいっぱいファイルが入っていて何が何なのかわかりませんでした。
とりあえず調べると「ViewController.swift」というファイルにプログラムを書き込んで、「Main.storyboard」というファイルでデザインをしていくということまでわかりました。
オッケー。

んで、左上の再生ボタン的なのを押すとiOSシュミレーターを起動できると。
これで理解しました。

書いてデザインしてシュミレーターで確認する。
これでアプリが作れるんですね。

間違ってないよな…

おみくじアプリを作ってみる

とりあえず、YouTubeのある動画を参考にしながら簡単なおみくじアプリを作ってみました。
動画では、プログラムの意味を1つ1つ教えてくれたのでとても勉強になりましたね。

今回書いたコードはこちら。

コードの解説

とりあえずMain.storyboardの方でオブジェクトを二つ作りました。
labelは普通のオブジェクト。buttonはアクティブ(動きのある?)オブジェクト。
それを画像のように置いといて、ViewController.swiftにコードを書いて行きます。

@IBOutlet weak var label: UILabel!
@IBAction func button(_ sender: Any)
最初のこれは多分、labelとbuttonのオブジェクトを読み込みますよ〜ってやつ。
これは詳しく解説されなかったからまだよくわからないですね。

let num = arc4random_uniform(4)
letは定数といって、ここで定義された値以外になるとエラーを吐いてしまいます。
ここでは「numと名付けられた定数が4未満の数字である」と定義されていますので、それ以外の数字になることは絶対に許されません。

var result = “結果”
varは変数といって、何でもなれるやつです。
ここでは「”結果”はresultと名付けられた変数」という解釈で良いと思います。
例えばresultが”大吉”であれば、”結果”の値は”大吉”になるというわけです。

switch num
switchとは、場合分けをする時に使える文です(多分他にも使い道ある)。
ここではnumの場合分けをしています。

case 0:
result = “大吉”
case 0というのは、numの値が0である場合という意味です。numは4未満の数字であると定義されているので当てはまりますね。
ここでは、「numが0の時、resultは”大吉”」であるという意味になっています。
こんな感じで0〜3まで記述してあります。

default:
break
defaultは、ここでは「それ以外が出た時」という意味です。
4未満の数字なので、これ以外になることはありえないのですが、記述必須なようです。
breakとは、処理から抜け出すという意味です。
僕もあまり深くはわかりませんが、恐らくswitch文から抜け出すという意味でしょう。
つまり「0〜3以外が出た時は、switchの処理をやめる」という意味になります。

label.text = result
この文の意味は「labelにresultのテキストを表示する」という意味です。

ざっくり解説

つまり、このおみくじアプリは

buttonというアクティブのプロジェクトを押すと、0〜3の数字がランダムに決まり、その結果によっておみくじの結果が決まる。
その結果をlabelという普通のオブジェクトに表示する。

というプログラムで出来上がっているわけです。

問題発生

なんかやばい問題が発生。
デバッグしようとしても不思議なエラーが起こる。

エラーの内容を翻訳してみてもIDが何ちゃらって…
これはプログラムが悪いわけじゃないと確信。
まぁプログラムにおかしい点があったらすぐに知らせてくれるからね。

というわけでわけがわからないので1時間格闘。
まじわからん。疲れた。

とりあえずプロジェクト削除して全く同じように作ってみた。

いけた。

わけわからん!!!!!

まとめ

変なことで1時間格闘したから凄く疲れました。
こんなことは二度となければ良いな。
これってイレギュラーな事態ですよね?

というわけで今日学んだことは

  • 動画見ながらだとわかりやすい
  • 文法?が何となくわかった
  • エラー文は翻訳すると何となく理解できる
  • 楽しい!!!

くらいです。
楽しいって思えたのはとても良いことではないでしょうか。

また明日も引き続き頑張っていきます!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です