マガジンのカバー画像

Swiftでいこう!

601
楽しくプログラミング!Swiftはなんだか楽しい"ことば"です。
運営しているクリエイター

2018年4月の記事一覧

Swiftでいこう --メソッドって。

class の中でプロパティ、初期化に続いて必要なのがメソッドということで、以下コードです。 class Counter{ var count = 0 func increment(){ count += 1 } func incremae(by amount:Int){ count += amount } func reset() { count = 0 }} このclassには初期値を設定したプロパティ

Swiftでいこう -- プロパティってなに?

struct Boxがあります。 struct Box{ let width:Int let height:Int} この場合 let width:Intlet height:Int がプロパティです。 普通に使う場合は格納型プロパティ(Stored property)と呼ばれ、値を保持するために使われます。 structの場合は初期化の処理は必須ではありませんが、classでは必須です。 class についてはこんなかんじで, class Human {

Swiftでいこう -- 初期化について-2

"struct"の場合は初期化せずに単純に struct Fahrenheit { var temperature: Double} とかけます。 使う場合に値を入れて使います。 var f = Fahrenheit(temperature: 20)print(f.temperature) // 20.0と表示 次に"パラメータなし"のinit()を使い初期化、値を直接いれます。 struct Fahrenheit{ var temperature: Do

Swiftでいこう -- うるう年を考えよう

まず、 "うるう年"ってどんな条件で判定できるかを考えよう。 国立天文台のサイトには 現在私たちが使っている暦は「グレゴリオ暦」といい、世界中の国で使われています。グレゴリオ暦法では、うるう年を次のように決めています。 (1)西暦年号が4で割り切れる年をうるう年とする。        (2)(1)の例外として、西暦年号が100で割り切れて400で割り切れない年は平年とする。 コードにしてみましょう。 func isLeapYear(_ year: Int) {

Swiftでいこう -- 九九を考える。

九九をコードで書いていきます。for in ループを2重に使います。 for i in 1..<10{ var line = "" for j in 1..<10{ let n = i * j if n < 10 {line += " "} line += " \(n)" } print(line)} 実行するとコンソールには、 1 2 3 4 5 6 7 8 9 2 4 6 8 10 12

Swiftでいこう -- 初期化について

初期化って大切。んで、なんで?どうするの?ということで、ちょっとまとめてみましょう! インスタンス生成、いわゆる実体化。それはプログラムを組んで実際に使えるようにすることです。 初期化、例えば、 var a = 5var result = a + 10print(result) // "15"と表示 "a"は実際に"5"を持っています。"a"は"5"という数字として認識され使えます。"a"の初期値"5"です。 初期化していない場合 var a:Int で、これで

Swiftでいこう -- structを使おう

"struct"は 構造体と言います。"class"と比較され使い分けることが必要です。 例えば、 struct Box{ let width:Int let height:Int} "struct Box"の"width"と"height"を定義しています。 classとの違いは、初期値がなくても定義できること。 "struct"は単純なもの、部品的なものものを定義する。 "struct"は継承ができないこと。 "class"が参照型なのに対して"st

Swiftでいこう -- classで継承してみよう

まず親classです。 class Human{ var age = 10 func greet(){ print("Hallow") }} 変数 "age"とメソッド "greet()"をもと"Human"というclassがあります。 継承する場合は、 class Taro:Human{ } という感じで"Taro"の後に " : " をつけ、親クラスの"Human"をつけます。 class Taro:Human{ var gen

Swiftでいこう -- classを使ってみよう。

classを使おう! アプリを作るときには必ずつくることが必要です。classを組み合わせ、機能を追加し、プログラムとして使えるようにします。 classはいわゆる雛形、設計図となるもので組み合わせて実体化することでアプリ、プログラムが動きだす。 "Human class 、まず雛形になる"設計図"を作ります。 Humanにはgender(性別)、age(年齢)というプロパティがあります。 そしてdiscription(言葉)というメソッドをもっていてprint関数

Swiftでいこう -- 演算子って

これまでに出てきた演算子は次のとおり。 "+ ,-" などは足し算、引き算するので算術演算子。 "< ,>, ==" はどっちが大きい、小さい、同じ、を比較するので比較演算子。 1 から3までなど"1...3"までと範囲を指定するのが範囲演算子。 あとまだでてない大事な演算子、論理演算子があります。 大前提ですが、比較するものはBool値でないといけません。いわゆるtrueもしくはfalse を表現できる値です。例えば、 //まず定義しますvar a = 2var

Swiftでいこう -- 引数ラベルなど。

func 関数の基本形 func 関数名(仮引数:型)->戻り値{処理} でありますが、 引数 (仮引数 : 型) -> "(h:Double,w:Double)"の話をしましょう。 func area(h:Double,w:Double)->Double{ return h * w} 使ってみると。 area(h:40, w:30) // 120 となります。 次に(height h:Double, width w:Double)、"height"、"w

Swiftでいこう -- enumを使ってみよう。2

もう一つの使い方をみていきましょう。 enum Barcode{ case upc(Int,Int,Int,Int) case qrCode(String)} upc(Int,Int,Int,Int)とqrCode(String)ですが、( )で型を指定してタプルを宣言しています。 ここで"タプル"という言葉が出てきました。何でしょう。 型が違ういろいろな値をひとまとめにする。配列のようなでも配列でなくて、値をまとめる、型をしていしてまとめることもできるもの。

Swiftでいこう -- enumを使ってみよう。

enumってなんだろう? 日本語でいうと列挙型。 値をまとめて管理する場合に使うもの。 例えば、東西南北を"Compass"という名前を付けenumを使って表現すると。 enum Compass{ case north case south case east case west} または、 enum Compass{ case north,south,east,west} と書けます。 ひとまとまりにすることで変数が表す意味がわかりやすく

Swiftでいこう -- Closureとは

Closureとは関数を単純化、簡単に表記してコードを簡潔にわかりやすくする仕組み。 数字の並び替えを題材に考えてみましょ。 例えば let num = [4, 2, 1, 3, 5] 配列があります。 これを大きいもの順に並び替えたいとします。コードとしては簡単に num.sorted(by: > ) と書け、実行結果は [5, 4, 3, 2, 1] と並び替えできる。 この仕組みClosureで説明していくと。 まず関数としては func ba