the invention of t88

工作、資格取得、データ分析のことなど

iOSアプリ開発手始め

f:id:take213uv:20190513152317p:plain

今年度の目標の一つとしてiOSアプリ開発を掲げました。
www.t88.work

MBPも購入したので、GW中からボチボチと始めていました。入門書での学習、自作アプリの作成まで行ったので簡単に道筋をまとめたいと思います。

xcode入れる

App storeから落としてインストールするだけ。

入門書

amazonで評判が良いこの本を。

絶対に挫折しないiPhoneアプリ開発「超」入門 第7版 【Xcode 10 & iOS 12】 完全対応 (Informatics&IDEA)

絶対に挫折しないiPhoneアプリ開発「超」入門 第7版 【Xcode 10 & iOS 12】 完全対応 (Informatics&IDEA)

評判通り、良い本でした。
サンプルアプリを作った後、サンプル内で使われている文法などの詳細解説が入る、という流れが分かりやすい。サンプルもカメラを用いたものや、RSSリーダなど、それなりにちゃんとしたもので、白けることがない。あと、殆どの手順が画面キャプチャ付きで説明されているので、そのメニューどこにあるの?みたいに迷子になることがない。手始めとしてはとても優秀な本です。今後も不明点が出てきたら立ち返るって確認することになりそう。

試しに作ってみる

アレクサアプリ開発の際に誕生した、献立提案*1をiOSで再現。

関連記事:
www.t88.work

ボタンとラベルだけで構築されたシンプルなもの。

f:id:take213uv:20190512110744p:plain:w300

下のボタンをクリックするとランダムで料理名が表示される。

f:id:take213uv:20190512110831p:plain:w300

コード的にはこんな感じ。

import UIKit

class ViewController: UIViewController {
    
    let kondate_list = ["チャーハン","カレー","ラーメン","オムライス","ハンバーグ","たこ焼き"]
    var kondate = ""

    @IBOutlet weak var label: UILabel!
    @IBOutlet weak var button: UIButton!
    @IBAction func showKondate(_ sender: UIButton) {
        kondate = kondate_list.randomElement()!
        label.text = "\(kondate)"
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        label.text = "何食べよう?"
        button.setTitle("献立提案", for: .normal)
    }
}

料理名のリストからランダムに取り出してラベルのテキストに入れる、だけ。配列から要素をランダムに取りだす.randomElement()が地味に便利。

今後

iOSアプリ開発はひとえに、フレームワークの使い方の習得が重要な気がしています。まずは手当たり次第、しょうもないアプリを量産してストックを増やしていきたいです。この記事がお手本。
【実践で身につけるiOSアプリ開発】 10日で21個アプリを作った話 | ロボット・IT雑食日記

*1:あくまでTシャツの為だけに開発したクソアプリ。久しぶりにレビューページ見たらいくつか低評価を獲得していた。申し訳ないです。