チャーリーのC

技術系の記録をしていきます。

Swiftでタッチ操作の認識

iPhoneアプリに欠かせないタッチ操作の認識についてメモしておきます。


SwiftのObjectLibraryからTapGestureRecognizerを選んでMainStoryBoardのViewに追加します。

TapGestureRecognizerとViewControllerを紐付けします。
ActionのhandleTapGestureという名前にして、TypeはUITapGestureRecognizerにしました。

紐付けしたhandleTapGestureに
println("Tap!")
と書き、Tapを認識したらOutputにTap!と表示するようにします。


simulatorを起動して、画面をタップするとOutputにTap!と表示されるはずです。


かなり初歩的なことですが、最近更新していなかったので・・・。S

Swiftで閏年の判定

 

復習問題の続きを書いていきます。

閏年の判定をするプログラムを調べながら書いてみました。

 

閏年の条件〜

4で割り切れる年は閏年
100で割り切れる年は閏年ではない
400で割り切れる年は閏年

 

これを引数がInt型1つ、戻り値がbool型のisLeapYear関数を作る問題なので、

4で割って余りが0ならtrue

100で割って余りが0ならfalse

400で割って余りが0ならtrue

と考えました。

 

 

func isLeapYear(year:Int) -> Bool {   

    if year % 100 == 0 && year % 400 != 0 {

        return false

    } else if

        year % 4 == 0{

        return true

    } else {

        return false

    }

}

var answer = isLeapYear(年を入力)

println(answer)

 

実行すると、1900年はfalse 2000年はtrue 2004年はtrueになりました。

 

おわり

SwiftでFizzBuzz

 

Swiftの授業で出た復習問題について書いておこうと思います。

 

FizzBuzz問題

 整数1~20において、println()でFizzBuzzを行う処理を作成せよ。 

そもそもFizzBuzzってなんだ?というところからでした(汗

3の倍数でFizz、5の倍数でBuzz、3と5の倍数でFizzBuzz、それ以外は数字を表示すればいいようなので、書いてみました。

 

var num = 0

for num in 1...20 {

    

    if num % 3 == 0 && num % 5 == 0{

        println("FiizBuzz")

        

    }else if num % 3 == 0{

        println("Fizz")

    

    }else if num % 5 == 0{

        println("Buzz")

 

    }else{

        println(num)

    }

}

 

3の倍数は3で割ると余りが0になるので、そのまま式にしました。

5の倍数も同じですね。

 

 

 

おわり

 

実機転送

 

GWで気が抜けたのか、ブログの存在を完全に忘れていました…

とりあえず今日やったことから書いていきます。

先々週くらい前から、Swiftの授業の時間を使って実機転送の設定をしていました。

 

私の学校はiOS Developer University Programに参加しているので、先生に招待された生徒は無料で実機転送ができます。

 

まずiOS Universityに登録し、キーチェーンアクセスで証明書を作ります。

作った証明書はdev centerにアップロードし、先生に承認してもらいました。

その後、別?の証明書をダウンロードし、実機転送したい端末の個体識別番号を先生に送りました。

個体識別番号を登録してもらったら、ついに実機転送です。

 

いろいろはしょりましたが、大まかにこんな感じでした。

詳しく知りたい方は、「iOS 実機転送」で調べると参考になるサイトが出てきます。

個人でやる場合は年間1万円くらいかかったり設定も少し大変になりますすが、university programと違い、作ったアプリをapp storeに出したりもできます。

 

今回実機転送したのは教科書に載っていた「MAP」と「SNS」です。

MAPアプリはそのままの意味で、MAPのフレームワークを読み込むだけの簡単なアプリです。

SNSアプリは始めに画像が表示され、ツールバーのActionボタンを押すと

f:id:minayu_t:20150602153140j:plain

こんな画面(名前が思い出せない)が出てきます。

そして、Twitterを選ぶと画像を添付したツイートが出来るというアプリです。

SNSアプリと呼べるのかよくわかりません。

Twitterじゃなくても添付できました。

 

早く自分でアプリを作って、実機で使ってみたいです。

 

 

おわり

 

 

 

 

Swift Part2

 

Swiftについて書きます。

前回の授業では関数をやり、先生が作った練習問題を解いていきました。

 

 ▼練習問題:Ex01

  引数がInt型2つ、戻り値がInt型のadd関数を作成し、実行せよ。

 

 ▼練習問題;Ex02

  引数がInt型1つ、戻り値がDouble型のiTax関数を作成し、実行せよ。

  税込金額を求める関数(引数に1.08をかけて戻す関数)

 

 練習問題:Ex03

  引数がInt型3つ、戻り値がDouble型のaverage関数を作成し、実行せよ。

  3つの引数の平均値を求める関数(引数の合計÷3)

 

 実際にやってみるとなかなか難しく、かなり時間がかかりました。

教科書を見ながらじゃないとできないです・・・。

 

//Ex01

func add(#first:Int, #second:Int) -> Int {

let result = first + second

    return result

}

 

var plus = add(first:10, second:20)

println(plus)

 

 

//Ex02

func iTax(#value:Int) -> Double {

    let result = Double(value) * 1.08

    return result

 

}

var pay = iTax(value:100)

println(pay)

 

//Ex03

func average(#one:Int, #two:Int, #three:Int) -> Double {

    let result = Double(one + two + three) / 3

    return result

}

 

var aver = average(one:100, two:200, three:300)

println(aver)

 

回答はこんな感じに。

 

おわり

Swift Part1

一昨日はモバイルプログラミング(Swift)の授業でした。

 

型、if文、配列などをやりました。

僕は教科書を通学時間などを使って読み進めていたので、

特に難しいことはないと思っていましたが、甘かったです。

 

読んだはずの練習問題が解けなかったのです。

 

完全に読んだ気になっていました。

わからないと思った時は焦りました。

 

内容を完全に覚えるつもりで何度も読み返さないとダメですね。

特に基礎の所は・・・。

 

 

アプリ制作の方は、なぜかバグが出てそのバグを調べるので大変です・・・

参考サイトと同じものを書いてもバグが出るのはどうしてだろう?

あきらめずに作っていきたいです。

 

 

おわり

 

1週目

 

今日の授業はOfficeアプリケーションと情報概論とHRでした

 

OfficeはMicrosoftのWord,Excel,PowerPointを使った授業です。

今日はWordをやりました。

使い方をやるのかと思いきや、文章の書き方のほうを重視していました。

(例:記と書いたら以上を書く)

確かに社会に出て、文章の書き方のルールを知らないと困ります。

 

情報概論では情報処理技術者試験基本情報技術者午前問題の内容を説明できるようにするという目標とシラバスに書いてありました。

今日は初めての授業だったので、授業についての説明と〜進数をやりました。

基礎変換はしっかり復習しておきたいです。

 

22日水曜日に就職作文試験があるので、放課後はその下書きをずっとやっていました。

テーマは、

「学校でやりたいこと」

なので、自分がやってみたいことを考え直すいい機会になりました。

 

 

☆目標

今週中にSwiftで、簡単でもいいのでとにかくアプリを作りたいです。

急いで勉強しないと難しそうです。。。

 

おわり