Start Developing iOS Apps (Swift)
参考URL http://qiita.com/edo_m18/items/ca8c9c21049c280d3328
Basic types
var myVariable = 42
myVariable = 50
let = myConstant = 42
var = 変数で値の変更が可能
let = 定数で値の変更ができない
常にSwiftの定数と変数には「型」があります。
ただ、あなたは常にその型を明示的に書く必要がありません
Swiftのコンパイラは対象の値が「integer」かどうかを推測します。
これを「型推論」という機能で行っています。
これら定数と変数の型は変わることがありません。
let implicitIntger = 70
let implicitDouble = 70.0
let explicitDouble: Double = 70
上記のimplicitIntgerが数値型、implicitDoubleは浮動小数点型
explicitDoubleは「:」で区切って型を明示、記述することもできます。
Swiftでは値を決して明示せずに他の型に変換してはいけません。
もし型の変換を行いたいなら明示的に行いましょう
let label = "The width is" /文字列型
let width = 94 /数値型
let WidthLabel = label + String(width) 変数widthを明示的に文字列型にしている
もっと簡単に文字列の値を含める方法があります。バックスラッシュ\の後に()で変数をくくることで明示的にそれらが文字列であることを示します。
これらは、「文字列の補間」という機能で行っています。
let apples = 3
let oranges = 5
let applesummary = "I have \(apples) apples"
let fruitSummary = "I have \(apples + oranges) pieces of fruit."
optional型
対象の値に「?」を記述することで「nil」つまり、値が存在しない状態を許可します。
また、「!」の値を記述することで「nil」が存在しない状態を示します。
let optionalInt: Int? = 9 この場合値がnil(値が無い状態)を許可する
// なにがしかのクラスのインスタンスを作る
var b: AnyClass = AnyClass()
b.hoge?.foo()
「?」Wrapと「!」Unwrapに違いに関しての説明
optional型は「宣言された型」か「nil」を保持しているため、「宣言された変数は2つの状態(型かnil)を持ち、参照するたびにその都度中身を確認しなければなりません」
つまり、このオプションのように2つの要素を持てる状態を「wrap」されていると言います。(ほかの言語でも同様の仕組みとして「オプション」というのがある)
その反対に、ある変数が一つ状態を確定している様を表す記号として「!」があり、 Unwrapされていると言います。
? => wrapされていて二つの状態を保つ
! => unwrapされていて一つの状態を持つ(?で曖昧に宣言したものを!で確信に変えています、なんかゲームみたいです。)
Swiftに存在するデータ型に「Array」が存在します。
これはプログラミング言語における配列を意味してます。
ある変数を(インデックス)参照値としてその値に代入した文字列などを簡単に扱えるようにします。
var ratinglist = ["Pool", "Fine", "good", "Excellent"]
ratingList[1] = "OK"
print(ratinglist)
インデックス(索引) => データを検索するための索引情報
ファイルや文書の中の特定内容の位置を知るための「鍵」
空配列を生成する方法は下記のコードです。
//で一行コメントを書くことが可能です。
/* ...*/で複数行コメントと書くことが可能です。
// creates an empty array
let emptyArray = [String]()