swiftを使って、ランダムに結果が表示されるおみくじアプリを制作してみました。
制作時間30分以内に作れる簡易的アプリかつXcodeとswiftの使い方をざっと眺めることができるので、「iphoneアプリ開発ってどんな感じなのだろう?」という方は是非読んでみてください。
※swiftのプログラミングの部分だけを解説しますので、アプリ内UIのレイアウトに関しては、こちらの記事を参考にして下さい。この記事で作成したおみくじアプリのレイアウトを使って、アプリを制作します。
UIコンポーネントを関連付けする

左側の簡易的に制作したUIを右側のswiftと関連付けしてアプリを制作します。
「大吉!!」と書いてあるLabelを「Control」を押しながら右側のswiftのコードにドラッグ・アンド・ドロップします。

このように、Nameを自由につけて、swiftと関連付けします。そうすると、
1 |
@IBOutlet weak var resultLabelView: UILabel! |
という記述がソースに追記されます。同じように、「おみくじを引く」ボタンも関連付けしましょう。
ボタンの場合は、タップ時に処理を行いたいため、ConnectionをActionに指定して関連付けをします。
関連付けがうまくいけば、
1 2 |
@IBAction func omikujiAction(_ sender: Any) { } |
こういったソースが追記されます。このソースの{}の中に記述したプログラムが、ボタンをタップ時に実行されます。
これでUIパーツの関連付けは終了です!
ランダムな結果を表示するプログラムを書く
UIパーツの関連付けが完了したので、「おみくじを引く」ボタンを押したら、「大吉!!!」と表示されている部分の文字を変更するプログラムを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } @IBOutlet weak var resultLabelView: UILabel! var omikuji = 0 @IBAction func omikujiAction(_ sender: Any) { omikuji = Int(arc4random_uniform(3)) if omikuji == 0 { resultLabelView.text = "大吉!!!" } else if omikuji == 1 { resultLabelView.text = "吉!" } else if omikuji == 2 { resultLabelView.text = "凶..." } } } |
先にソースの全文を書いておくと、こんな感じです。
少しずつ解説すると、
1 |
var omikuji = 0 |
omikujiという変数を宣言
1 |
omikuji = Int(arc4random_uniform(3)) |
「おみくじを引く」ボタンがクリックされるたびに行われる処理の中に、クリックされるたびにomikujiにランダムな整数を代入する記述を追加
1 2 3 4 5 6 7 |
if omikuji == 0 { resultLabelView.text = "大吉!!!" } else if omikuji == 1 { resultLabelView.text = "吉!" } else if omikuji == 2 { resultLabelView.text = "凶..." } |
そのomikujiの値によって、条件分岐でLabelの文言を変更
という処理が追加されました。
この状態で、buildを行い、simulatorで確認すると、


このように、「おみくじを引く」を押すたびに「吉!」や「凶…」がランダムに表示されることを確認できます。
これでおみくじアプリは完成です!
簡単な診断アプリぐらいなら作れるようになりそう!
iphoneアプリは制作が大変そうであまり前向きではなかったのですが、簡単なアプリを作ってみて、
「案外簡単にアプリ作れそうだな!」
と思えるようになりました。
web離れが進み、アプリ使用率がドンドン増えていっている今、アプリ制作の技術は非常に重要になってきています。
自分もフルスタックに開発できるエンジニアを目指して、アプリ制作を勉強していこうと思います!