【Objective-C】XcodeでiPhoneアプリを作る基礎を学ぶ12【変数を理解する】

Xcode


久々のXcodeを学ぶ実践編です。

Xcodeに限らず変数は基本中の基本なので、Xcodeに限らず覚えておいて損はないです。


Xcode | naonotes.com(ナオノーツ)


変数はExcelに例えるとセル


変数と聞くと何かの数字かなと思ってしまうけれど、Excelで例えるとセルに該当する。

文字列も入るし、数字も入る。

セルAとセルBを足して計算結果をセルCに出すことが出来るように、変数も変数Aと変数Bを足して計算結果を変数Cに出すことが出来る。

変数を使えないとプログラムは書けない。

セルの使い方がわからないとExcelが使えないのと同じ。

変数はExcelのセルよりはるかに複雑な使い方が出来るが、とりあえずそういうもんだと思って覚えておこう。



使ってみよう


とりあえず使ってみてどんなものか知っていこう。

プロジェクトを作成する。

Xcodeを起動し、左上のメニューバーからFile→New→Projectを選択。

Single View Applicationを選択。


skitchQVSgSb



Project Nameは適当でいい。

今回はHensuNoBenkyoとつけているが、何でもいい。

Organization Nameは自分の名前を入力。

Company Identiferはドメイン名を入力。

持っていなければXcodeを学ぶためのプロジェクト作成なので適当でいい。


skitchNdvaJZ



プロジェクトが開くので、ViewController.mを選択。


skitchnsCqXH



今回は、-(void)viewDidLoad内で処理を行う。

赤字の部分にコードを書いていく。


-(void)viewDidLoad
{

   [super viewDidLoad];

   ここに書く

}


今回はここで処理を書いていく。


-(untara)untara{

untarakantara

}


ViewDidLoadだけに限らず、上記のように書いてある部分のことをメソッドというが、とりあえず頭の片隅に入れるだけでよい。



変数定義


今回はViewDidLoad内だけで使える変数を定義する。


-(void)viewDidLoad
{

   [super viewDidLoad];

   NSInteger cell1;
   NSInteger cell2;
   NSInteger cell3;

}


今回、3つ変数を定義した。

変数名は赤字で書いてあるcell1〜cell3の3つ。

Excelで例えると、セルが3つある表を作り出した事になる。

NSIntegerというのは変数の型式で、今回はこの変数には整数値を入れますよ、という宣言になる。

変数はExcelのセルと違ってセルの中に何でも書き込める訳ではなく、宣言した型式のものしか入れられない。

;(セミコロン)は書いた式終了時に必ず書く。



変数に数字を代入してみよう


cell1には100、cell2には300を代入してみよう。


-(void)viewDidLoad
{

   [super viewDidLoad];

   NSInteger cell1;
   NSInteger cell2;
   NSInteger cell3;

   cell1 = 100;
   cell2 = 300;

}


これでcell1には100、cell2には300が代入された。

プログラミングでの=(イコール)は、等号ではなく、A=Bで、AにBを代入となる。

が、このままだと実際入っているか確認できない。



変数の中身を確認してみよう


実際に自分の目で変数に数字が代入されているか確認してみよう。

確認するにはNSLogを使う。


-(void)viewDidLoad
{

   [super viewDidLoad];

   NSInteger cell1;
   NSInteger cell2;
   NSInteger cell3;

   cell1 = 100;
   cell2 = 300;

   NSLog(@”cell1に入っている数値は%d”, cell1);
   NSLog(@”cell2に入っている数値は%d”, cell2);

}


これでiOSシミュレータを起動してみる。

シミュレータをiPhoneにあわせ、Runをクリック。


skitchwFKwPa



シミュレータには何も表示されないが、Xcode内のAll Outputに表示される。


skitchdOEXKJ



NSLogを使うことにより、変数に数字が代入されていることがわかる。

変数の中身を常に確認しながらプログラムを組んでいくようにしよう。


もしAll Outputが表示されていない場合、右上にあるViewの真ん中をクリックしよう。


skitchZpJp7p



計算してみよう


変数に数字が代入されたことがわかったので、変数同士で計算してみる。


-(void)viewDidLoad
{

   [super viewDidLoad];

   NSInteger cell1;
   NSInteger cell2;
   NSInteger cell3;

   cell1 = 100;
   cell2 = 300;

   NSLog(@”cell1に入っている数値は%d”, cell1);
   NSLog(@”cell2に入っている数値は%d”, cell2);

   cell3 = cell1 + cell2;

   NSLog(@”cell1+cell2=%d”, cell3);

}


シミュレータで実行すると下記のように表示される。


skitchl3FiNT



これが変数の使い方の基本。



NSLogがとにかく大事


どんなアプリを作っていくにしても変数定義は必ずあるので、変数の中身をNSLogで常に確認しながら作業するのが基本になる。

実際にViewに表示する事も大切だが、目に見えない内部処理を確認せず書いていくことはバグの原因になるので、確認しつつ書いていこう。



変数名はわかりやすく


変数名に文字数の指定は無い。

長くてもいいので、わかりやすい名前をつけよう。

x1とか、y2など適当につけると実際に何を入れたかわからなくなる。

myoujiや、cell1ToCell2WoTashitaKotaeとローマ字で書いてもいい。

文字の区切り部分を大文字にすると読みやすい。

ただし、最初の一文字目は必ず小文字にしよう。

長い名前にしても、何文字か入力すればXcodeがこの変数じゃないの?メニューが出て入力支援してくれる。

長いから入力しづらいということはなく、サクッと書けるので気にしなくていい。



もっと簡単に書ける


変数定義と数字の代入を1行で行う事も出来る。

-(void)viewDidLoad
{

   [super viewDidLoad];

   NSInteger cell1 = 100;
   NSInteger cell2 = 300;
   NSInteger cell3 = cell1 + cell2;


   NSLog(@”cell1に入っている数値は%d”, cell1);
   NSLog(@”cell2に入っている数値は%d”, cell2);
   NSLog(@”cell1+cell2=%d”, cell3);

}


こう書くと短いプログラムになる。

ただし、短く書くことを意識しながら書くと非常にわかりにくい(読みにくい)プログラムになるので、自分がわかりやすく書くか、それとも短いプログラムを追求していくかでまた書き方が替わる。

この代入自体は基本なのでこの書き方でよいが、複雑化するとわかりにくくなっていくので、簡潔さも大切だが最初のうちはわかりやすさを意識したほうがいい。



これも立派なプログラム


実に簡単な式だけど、これも立派なプログラム。

これだけじゃアプリを作ることは出来ないが、いきなり一軒家を建てることは出来ない。

まず釘の打ち方やのこぎりの使い方など、基本を覚えていかないと何も出来ない。

基礎をきっちり作っていこう。


【Objective-C】XcodeでiPhoneアプリを作る基礎を学ぶ12【変数を理解する】」への3件のフィードバック

  1. ohkun

    くずのはさん お世話になります。

    以前にも、startcom のssl証明の再発行で問い合わせて貰った者です。自分なりに調べても見ましたが、行き詰まってしまい質問させてもらいます。

    認証済みの証明書は発行してもらいましたが、どうしても、VPSにアップできません。一年前の私の記憶ではCyberduckでのsftp接続でアップしたはずだと思いましたが、、、。今回Cyberduckでのsftp接続ではアップ出来ません。パーミッションか何かの変更?とか必要なのでしょうか?

    お時間が空いている時で結構ですので宜しくお願いします。

    返信
    1. 葛葉 キョウジ(管理人) 投稿作成者

      必要ありません。
      ログインできるんだから、SFTPで接続出来ないわけがないです。

      返信
  2. ohkun

    どうも大変お騒がせしました。

    自己解決しました。設定記事を何度も読み返している内、記憶が蘇り何とか
    無事、成功しました。

    有り難うございます。

    返信

ohkun へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)