iOSアプリってどうやって作るの?
昨日出前館で2000円クーポン使って得した気持ちと一昨日までなら3000円クーポンがあったのにという後悔がせめぎあってるかりたです。
前回予告した通りiosアプリってどうやって作るのということですがiosアプリは前提としてmacOSでないと作れないです。(正しくは作れるけどほぼ不可能)
macを立ち上げたらXcodeをインストールします。App Storeでもappleの公式サイトからでもできます。(アップデートでさえ1時間以上かかることがざらにあってつらいですが耐えましょう)
今回は足し算のみできるアプリを作成します。
Xcodeを立ち上げて、new projectを押してiOSタブのSingle View Appを選択すると以下の画面になるかと思います。
Product Nameにアプリ名を入力して、interfaceをStoryboard、LanguageをSwiftにしてNextを押します。
画像はTodoAppになってますがアプリに則した名前を付けましょう。(CalcAddApp SumAppなど)
すると以下のような画面になります。
左側にファイル一覧があるので今回編集するファイルの説明をします。
- ViewController: プログラムを書くファイル。これが全てみたいなところある。
- Main: storyboardファイル。このファイルを開いてボタンとかの部品をぺちぺち貼る。
Mainを開くとiphoneの画面があると思います。
右上に+ボタンがあるので押すとiosでよく見る部品一覧が出てきます。
この部品をiphoneにドラッグ&ドロップ(めんどうなので以下DD)すると部品が配置できます。
今回はlabel x1、textfield x2、button x1を配置しましょう。
配置した部品を選択すると右側のタブでボタンのいろいろな設定ができます。
部品一覧のボタンの下にある横線バーってなってるボタンを押し、Assistantを押すと画面が半分に割れてプログラムファイルが表示されます。
部品を選択して右クリックしながらプログラムファイルに線をびょ~んと伸ばしてDDしましょう。
すると変数名を入力する画面が出てくるので入力しましょう。
今回はボタン以外をresultLabel, firstnumTextField, secondnumTextFieldと入力しましょう。
ボタンはviewDidLoadという関数のしたにびょーんとしてください。
そして同じようにdidTapCalcButtonと入力すると関数を作成してくれます。ここにボタンを押したときの処理を書きます。今やった作業は配置した部品とプログラムの紐づけをしました。これをしてあげないとボタンを押してもどのボタンを押したのかわからないので何も起きません。
この段階では以下のようなコードになっているかと思います。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import UIKit class ViewController: UIViewController { @IBOutlet weak var resultLabel: UILabel! @IBOutlet weak var firstnumTextField: UITextField! @IBOutlet weak var secondnumTextField: UITextField! override func viewDidLoad() { super.viewDidLoad() } @IBAction func didTapCalcButton(_ sender: Any) { } } |
didTapCalcButtonの中に以下を記述します。
1 2 3 4 5 6 |
guard let firstNum = firstnumTextField.text, let secNum = secondnumTextField.text else { return } let result = Int(firstNum)! + Int(secNum)! resultLabel.text = String(result) |
流れとしては、テキストフィールドに入力された値をそれぞれ取得。入力がなければ何もしない。
取得した値を足し算してresultに代入。
ラベルのテキストにresultを代入。
という流れです。
右上の再生ボタンを押すとエミュレータが立ち上がってアプリが立ち上がります。
テキストフィールドに数字を入れてボタンを押すとラベルに足し算された値が表示されます。
こんな感じでアプリを作成していくわけですがこのアプリは致命的なバグがあります。
それは数字以外を入れてボタンを押すとアプリが落ちるということです。
プログラムの知識がある人ならわかると思いますが、途中でIntにキャストをしているのが理由です。
こんな簡単なアプリでもバグがあるので大規模アプリのバグは仕方ないと思ってあきらめましょう。
以上です。
- 最新の投稿
-
- 2024.11.20今でも見たくなる古いアニメ その①「エスカフローネ」
- 2024.11.18長年寄り添った彼氏との別れ
- 2024.11.14選挙の年ですね
- 2024.11.14ニュースでは見て知ってはいたけど・・・初めての経験
- 2024.11.13iMac M4発売
- タグ
-
- Analytics (3)
- BBQ (1)
- Canva (1)
- Firebase (1)
- GAS (1)
- Google (3)
- javascript (2)
- jQuery (1)
- news (4)
- saver (1)
- thunderbird (1)
- TIPS (9)
- vue.js (2)
- youtube (1)
- おやつ (2)
- お勉強 (2)
- お昼休み (1)
- お花見 (1)
- お金 (1)
- たつの (1)
- なぎさ公園 (1)
- ゆかた祭り (1)
- アクセサリー (1)
- アメカジ (2)
- ウエスタン (1)
- ウォーキング (1)
- カフェ (1)
- カラオケ (1)
- グルメ (11)
- ゲーム (1)
- コロナ (2)
- サブカルチャー (1)
- システム (3)
- ファイヤーキング (1)
- ファッション (1)
- ホームページ (1)
- マスク (1)
- マッサージ器 (1)
- モッズ (1)
- ラテン (1)
- 仕事 (1)
- 便利ツール (3)
- 健康 (2)
- 動画 (1)
- 化け猫懸垂 (8)
- 夢 (1)
- 姫路 (46)
- 姫路文学館 (2)
- 娘 (7)
- 工場夜景 (1)
- 日常 (114)
- 日本玩具博物館 (1)
- 本 (1)
- 献血 (1)
- 珈琲 (1)
- 短歌 (1)
- 神戸人形 (1)
- 筆記用具 (1)
- 網干 (2)
- 育児 (3)
- 花火 (1)
- 藤原正彦エッセイコンクール (2)
- 見学 (2)
- 観光 (1)
- 観葉植物 (1)
- 電車 (1)
- 音楽 (4)
- 香水 (1)
- 高砂 (2)