Help us understand the problem. What is going on with this article?

iOSアプリ開発したけりゃ、この3つを勉強しろ!!!

More than 1 year has passed since last update.

概要

以前、iOSアプリ開発を3時間程度で教える機会がありました。その時に使用したメモを記事にしてみました。ここでは勉強すべきこと3つの道しるべを示しました。

この記事などのソースは以下のgithubリポジトリにあります。
https://github.com/wataoka/app

この3つを勉強しろ!

  • swift
  • UIKit
  • Xcode

この三つをしっかり勉強すれば、もう大体のアプリは作れるようになる。

それぞれについて 細かく言うよ。

■swift

  • プログラミング言語のこと.
  • iOS, Mac, AppleTV, AppleWatch 向けのアプリケーションを開発するためにAppleが製作した.
  • 非常に直感的でパワフルでとても簡単に使うことができる.
  • swift1.0がリリースされたのが2014年で結構幼い.
  • 2017年9月にswift4.0がリリースされたばかりで4.0を説明している日本語の記事はとても少ない.

■UIKit

  • iOS系のアプリを構築するために必要なクラスを提供してくれるライブラリ(フレームワーク).
  • こいつの習得が一番難しい.
  • とにかくどんなものが提供されているかを知るために, 初めはswift docで打ちまくって覚える.

■Xcode

  • Appleが提供する統合開発環境(IDE).
  • 無料かつ最強のiOSアプリ開発環境.
  • iOSアプリを作るならこれ以外あり得ない.

軽くswiftだけ入門しとこう

■ 標準出力

print("Hello World!")
print(3)

■ 変数

var x = 3
var sentence = "Hello Japan!"
print(x)
print(sentence)

■ 計算

var x = 3
var y = 4
var z = x + y
print(z)

演算子一覧

演算子 説明
+ 加算
- 減算
* 乗算
/ 徐算
% 剰余

■ リスト

var list = [4, 2, 6, 13, 1]
print(list)
print(list[3])

■ if文

var x = 3
var y = 3

if x == y {
    print("xとyは同じです")
} else {
    print("xとyは異なります")
}

比較演算子一覧

演算子 説明
== イコール
!= ノットイコール
&& ビットAND
\ \
! 論理NOT
< 小なり
> 大なり
<= 小なりイコール
>= 大なりイコール

■ 問題1

xがyよりも大きければ xは大きい

xがyよりも小さければ xは小さい

xとyが同じならば xは普通

と出力するプログラムを組め.

※模範解答は01.swift

switch文

var x = 2
switch x{
case 1:
    print("xは1です")
case 2:
    print("xは2です")
case 3:
    print("xは3です")
default:
    print("わかりません")
}

問題2

orderに格納された文章が

カレーなら, お時間少々かかりますがよろしいでしょうかと出力.

牛丼なら, 並でよろしいでしょうかと出力.

コーヒーなら, ホットとアイスがございますと出力

それ以外を入力された場合はメニューにない商品ですと出力するプログラムをswitch文を用いて組め.

※模範解答は02.swift

for文

var list = [6, 2, 3, 4, 1]
for i in list{
    print(i)
}
for i in 1..<4{
    print(i)
}

問題3

(1)1から99までの自然数の中で3の倍数の数字をlist1に格納せよ.

(2)1から200までの自然数の中で3で割ると1余る数字をlist2に格納せよ.

(3)3桁の自然数の中で5で割りきれて, 3で割り切れない数字をlist3に格納せよ.

■ 変数と定数

var x = 2
let y = 3

x = 4
y = 5

■ 型

var s: Int = 3
var sentence: String = "Hello"

型一覧

型一覧 指定名 備考
整数型 Int 符号付整数
浮動小数型 Float 単精度実数
浮動小数型 Doble 倍精度実数
文字列 String 文章
文字 Character 一文字だけ
Bool型 Bool trueまたはfalse

■ 間違った型を入れると...

var x: Int = "Hello"

■関数

func add(x:Int, y:Int) -> Int {
    return x + y
}

var z = add(x:1, y:2)
print(z)

問題4

(1)整数が格納されたリストlistを受け取り, 合計値を返す関数を作れ.

(2)整数が格納されたリストlistを受け取り, 平均値を返す関数を作れ.

(3)整数が格納されたリストlistを受け取り, 分散を返す関数を作れ.

■ オブジェクト指向プログラミング

ここを理解することが最重要にして最難関.

/* モンスタークラス */
class Monster {
    var level = 1       // レベル
    var name: String = 'noname'   // 名前
    // 説明
    func description() -> String {
        if name == nil  {
            return "不明 Lv.\(level)"
        } else {
            return "\(name!) Lv.\(level)"
        }
    }
}

slime = Monster()
print(slime.level)
slime.description()

■リンク集

swift

UIKit

Xcode

wataoka
専門は機械学習の公平性です
https://twitter.com/wataoka_koki
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした