処理と変数
メソッドでの処理の実装を学んだ後は、データを扱う変数という概念を学びましょう。変数を使うことで、より高度な処理を行うことができます。
定数と変数
プログラミングを行う上で変数という概念は、データを読み書きできる記憶域のことです。一言でいうと、値を入れておく箱のようなものです。
変数は、処理の過程において値を受け渡すために利用されます。変数のイメージは次のとおりです。
値を変更できる変数に対して、値を保持し続けて変更しない場合は、定数という概念で扱います。
定数は、一度宣言した後に値の変更を行わないので、設定ファイルなどでよく使われます。
変数、定数の宣言
変数、定数の宣言は次の書式で行います。
var 変数名 [:型] = 値
let 定数名 [:型] = 値
書式の違いは「var」と「let」のみです。宣言の後に値を変更する可能性がある場合は「var」で宣言します。
宣言のあとに値を変更しない場合は「let」で定数として宣言します。
型は、数値や文字列などプログラムの中でデータの形式を指定するもので、主な型には次のものがあります。
型 | 概要 |
String | 文字列 |
Int | 数値 |
Bool | trueとfalseの真偽 |
Array | 複数の変数をまとめた配列 |
Dictionary | KeyとValueのペア |
Date | 日付 |
厳密にいうと型の種類は非常に多いので、初学者のうちはまず上の基本的な型を覚えるようにしてください。変数、定数の宣言時に型を省略することもできます。型を省略する場合は、プログラムの実行時にXcodeが自動的に型を判断してくれます。このことを型推論と呼びます。
変数を利用する
かんたんなサンプルを作成して実際に変数を利用してみましょう。サンプルの ContentView.swift のコードを次のように編集してください。
赤丸部分で2つの文字列型の変数を宣言します。その変数を使って赤線部分に直接記述していた文字列を、変数で置き換えてみます。
シミュレーターで実行すると、次のように該当する変数の値が表示されることがわかります。
シミュレーターの画面に表示されるテキスト、ボタンを押した時のコンソールに表示される文字列の両方が該当する変数の値になっていることが確認できます。
簡単な処理ですが、処理の外から変数を使って値を渡す、処理と処理のやり取りを変数を使ってつなぐ、というイメージの例です。
ContentView構造体の再確認
変数について確認ができたところで、復習を兼ねて改めてContentView.swiftを確認してみましょう。
プロジェクト作成時に自動的に生成されるContentiew.swiftの「var body 〜」の部分は、bodyという名前の変数の定義であることがわかります。
変数body自体もViewプロトコルを継承し、その内部に処理を定義しています。
つまり、変数bodyはiOSアプリの画面に相当するオブジェクトであり、変数bodyの定義時に指定したブロック内の処理が画面を作るものだと改めてわかります。