ihatov08 blog

プログラミング初心者だけどRailsとSwiftマスターします

2015-01-01から1年間の記事一覧

{}に入れる位置が違うだけでエラーが起きた

xcodeに打ち込んでいる際にはエラーが起きないのに、シュミレータを立ち上げるとエラーが起きてしまう。ひとつのコードが記載位置が間違っていて、エラーが起きていた。1ファイルに冗長にコードを書いていくと、{}の階層構造がわからなくなる。ファイルをわ…

カウントアプリ

import UIKit class ViewController: UIViewController { var count = 0 @IBOutlet weak var countLabel: UILabel! @IBAction func countButton(sender: AnyObject) { count = count + 1 countLabel.text = String(count) } @IBAction func resetButton(send…

音声を追加する方法

import AudioToolbox //サウンド用フレームワーク iOS SDK //効果音管理 class SoundManeger { //staticは用途としてどこからでもまったく同じ値や処理を使う場合に使う。 static var correct = SystemSoundID(0) static var incorrect = SystemSoundID(0) s…

オブジェクト指向

リファレンスを読むときに、結局クラスってなに?オブジェクトってなんだっけ?と何回もなるので、ここでまとめておく。 オブジェクト データと処理の集合 漠然とした集まりではなく、ひとつのテーマをもった集合 Userがid,name,address,telを持つ。 鈴木さ…

ストップウォッチアプリ

import UIKit class ViewController: UIViewController { func result() { print("1 second has passed") } override func viewDidLoad() { super.viewDidLoad() var timer = NSTimer() timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, se…

AutoLayout

codeiq.jp AutoLayoutではまった。何回やっても、設定されている制約が足りない・制約同士に矛盾が生じていることにより、最終的なレイアウトが不確定な場合は赤い矢印が表示されてしまう。 これでは画面を回転した時にレイアウトが崩れてしまう。三目並べの…

アニメーションアプリ

今日はボタンを押すと、動くアニメーションアプリを作った。アニメーションといっても、滑らかに動く代物ではなく、イメージでいうとパラパラマンガのようなもの。全部で5枚の画像をボタンを押すごとに切り替えていくことで動いていつように見える。まだこ…

ようやくどハマりから抜けだした

今日は1日ハマってました。Udemyで学習しているのですが、そっくりそのままやるとエラーが出る。xcodeのバージョン、swiftのバージョンが異なるせいなのか?とにかくハマりまくった。その度にstackoverflowで検索すると答えが出てくる。英語苦手だけど、ニ…

どハマりした

昨日まではxcodeの使い方、簡単な関数を学習して、ほとんど詰まることなく学習できていた。 今日はwebのでーたをダウンロードする方法を学んでいたが、どハマりした。まだどハマりしている。 swiftでは予測変換?機能があり、その通りに入力しないと動作しな…

素数判定

素数とは1 と自分自身以外に正の約数を持たない自然数で、1 でない数のことである。 正の約数の個数が 2 である自然数と言い換えることもできる。例えば17の場合、1と17だけが約数。プログラミングで判定するためには、整数2から自分自身(この場合1…

7つの数字が入った配列を作り、1ずつ引く

var arr = [9, 8, 7, 6, 5, 4, 3, 2] var i = 0 while i < arr.count { arr[i] = arr[i] - 1 i++ } print(arr) => "[8, 7, 6, 5, 4, 3, 2, 1]\n"

whileループを使って配列内をループさせる

var arr = [1, 2, 5, 6] var i = 0 while i < arr.count { print(arr[i]) i++ } arr[]で配列の要素にアクセスしている。(忘れてた)

5の倍数の最初の10個を出力する

var i = 1 while i <= 10 { print(i * 5) i++ => 5 10 15 20 25 30 35 40 45 50 }

while文を使って1から9までの数字を出力する

var i = 1 while i < 10 { print(i) i++ } =>1 2 3 4 5 6 7 8 9 for (<初期設定>; <継続条件> ; <再設定>) { : <処理> } <初期設定>では、繰り返しのために用いる変数に初期値を代入する式を記述します。このとき用いられる変数は繰り返しの回数を数えるため…

4つの数字(少数)をもつ配列を作成して、2で割って出力する

型指定せずに、配列に整数を格納し2で奇数を割った場合、(例7 / 2 = 3)と出力されてしまう。 この方法を回避する方法は以下の2通りの方法がある。 2つの方法がある。 ①配列をDouble型にする。 var arr:[Double] = [3, 15, 57, 33] for (index, value) in…

4つの数字が入った配列を用意して、すべてを2で割る

var arr = [2, 14, 54, 32] for (index, value) in arr.enumerate() { arr[index] = value / 2 } print(arr) => "[1, 7, 27, 16]\n"

数字を4つ格納した配列を用意して、それぞれ1を足し出力する

var arr = [8, 3, 88, 43] for (index, value) in arr.enumerate() { arr[index] = value + 1 } print(arr) => "[9, 4, 89, 44]\n" enumrateを使うことで配列のindex番号と要素にアクセスすることができる。 for () inの中の()は適当な文字にすることがで…

ループ文

i++この書き方はi = I + 1と同じ。インクリメントと呼ばれる。i++はインクリメントと呼ばれる。一般には増加という意味だが、コンピュータ用語としては、変数の値を1増やす演算のこと。逆に減らす演算はデクリメントである。 問題1 forループを使って、1…

for文を使って配列を出力する

var arr = [8, 3, 88, 43] for x in arr { print(x) => [8, 3, 88, 43] } しかし、この方法だと配列の要素にアクセスして数字を足すなどの作業をすることができない。

for文を使って1から9までを出力する

for var i = 1; i < 10; i++ { print(i) }

for文を使って2から20までの偶数をループさせる

for var i = 2; i < 21; i = i + 2 { print(i) }

今後IDやpasswordを入力するアプリを作成する際に必要となるif,elseについて学ぶ。 var age = 20 if age >= 18 { print("You can play!") } else { print("Sorry, you're too young") } => "You can play"\n ageを18未満にすると "Sorry, you're too young"…

配列:ArrayとDictonary

配列 変数Arrayに1、2、3、4の4つの数字の配列を格納する。 var array = [1, 2, 3, 4] なぜ4つの数字を4つの変数を用意して、それぞれ格納せずに、1つの配列に格納するのか? 例えばtwitterなどそれぞれのユーザーに情報を表示するアプリを作成する…

変数と型

var str = "Hello playground" varで変数を宣言する。ちなみにletは定数らしい。 var name:String = "tim" var name = "tim" 上と下は一緒。:Stringで変数の型を宣言できるが、Swiftには型推論機能(型を予測してくれる)がついているため、宣言しなくてもよ…