blogtitle
RSS Twitter
  • TOP
  • このブログについて
  • imotenもくじ
  • VPS拡張編
    • VPS機能拡張
    • セキュリティ対策
    • WordPress設定
  • ブログ主おすすめ
    • おすすめアプリ
    • おすすめ周辺機器
    • Xcode
    • ターミナルサービス設定
  • レシピ(料理)

【Objective-C】XcodeでiPhoneアプリを作る基礎を学ぶ13【メソッド】

Day:2013.7.15 0:05 Comments: 6

code Xcode

Xcode


Xcodeの基礎を学んですでに13回目。

今回はViewDidLoadとメソッドです。


【Objective-C】XcodeでiPhoneアプリを作る基礎を学ぶ12【変数を理解する】 | くずのは探偵事務所


Xcode | くずのは探偵事務所


1番始めに読み出されるViewDidLoad


ViewControllerが呼び出されたときに、一番最初に呼び出されるのがViewDidLoad。

前回の変数の時も、コードはすべてViewDidLoadに記述した。

基本的には、– (void)viewDidLoad の中に記述したものはすべて実行されるので、とりあえずViewDidLoadにコードを書いていけば何とかなる。

が、ViewDidLoadにすべて書きまくるとソースはわかりにくくなるし、管理が面倒になるので処理を分けて記述していくことになる。



分割記述


前回、変数の回で作ったプロジェクトを開こう。

下記のようなソースコードがViewDidLoadに記述されてるはず。

この赤字の部分をViewDidLoadとは別のメソッドを作って呼び出すようにしてみる。

メソッドとは何かは前回やったね。


-(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);


}



メソッドの作成


ViewDidLoadの下に新規メソッドを作成してみよう。


-(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);

}

– (void)calculation
{

}


これでメソッド calculation が作成された。

が、何も記述されていないため何も処理しない。

そこでViewDidLoadに記述されている変数宣言などをcalculationメソッドに移す。


-(void)viewDidLoad
{

   [super viewDidLoad];

}

– (void)calculation
{

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

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

}


これでcalculationメソッドで処理が行われるようになったが、iOSシミュレータを起動してもAll Outputには何も記述されなくなってしまった。

ということは、何も処理されていない。



メソッドの呼び出し


せっかくcalculationメソッドを作ったのはいいものの、ViewDidLoadにcalculationメソッドを呼び出す記述をしないと当然ながら何も行わない。

なので、ViedDidLoadの中にcalculationメソッドを呼び出す記述を追記する。


-(void)viewDidLoad
{

   [super viewDidLoad];

   [self calculation];

}

– (void)calculation
{

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

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

}


これで実行してみよう。


skitchl3FiNT


ちゃんと処理が行われた。

ViewDidLoad内でcalculationメソッドが呼び出されたってことだね。



分割記述のメリット


このようにメソッドを作って分割処理を行うようにすると、同じ処理を複数回行う場合でも何度も同じ処理を記述する必要はなく、そのメソッドを呼び出すだけで済むようになる。

同じ処理を行う分だけ記述をコピペしても結果は同じだが、管理の手間がまるで違う。

たとえば今回cell1に100を入れているが200にしたくなった場合、メソッド分けをしていればcalculationメソッド内の100を200に変更すればいいだけだが、メソッド分けをしていない場合、この処理をコピペした分だけ代入値を変えなければならない。

1つや2つなら変更も楽だが、300回とか呼び出していると300個変更しなければならない。

1つでも変更ミスがあれば思い通りの処理は行われない。

非常に面倒くさいしバグの温床になるので、メソッド分けをしながら記述したほうがいい。



慣れると非常に面白い


XcodeはUIKitなど開発環境が非常に整っているので、それほどスキルがなくてもアプリを作ることが出来る。

だけど書き方がわからないと作ることが出来ない。

逆に言えば、書き方さえわかればあとはUIKitまかせで高度なアプリを作ることが出来るようになる。

しっかりと書き方を学んでいこう。


関連記事


    • 【Objective-C】XcodeでiPhoneアプリを作る基礎を学ぶ12【変数を理解する】
    • 【Objective-C】XcodeでiPhoneアプリを作る基礎を学ぶ14【懐中電灯アプリを作る】
    • 【Objective-C】XcodeでiPhoneアプリを作る基礎を学ぶ7【四則演算計算機を作る その1】
    • 【Objective-C】XcodeでiPhoneアプリを作る基礎を学ぶ5【『初めてのiOSアプリケーション』その3】
    • 【Xcode】初心者が独学でプログラミングを覚えるには【心構え】


« 【Objective-C】XcodeでiPhoneアプリを作る基礎を学ぶ14【懐中電灯アプリを作る】 【Objective-C】XcodeでiPhoneアプリを作る基礎を学ぶ12【変数を理解する】 »



Comments: 6

  1. Nyanchu より:
    2013年7月15日 1:36 PM

    ちょうど、処理分けの仕方を知りたかったので助かりました。

    返信
    • 葛葉 キョウジ(管理人) より:
      2013年7月16日 9:15 AM

      ローカル変数は引き継がれないので注意してくださいね。

      返信
      • Nyanchu より:
        2013年7月23日 3:42 PM

        そうなんす。つまづいてますorz

        返信
        • 葛葉 キョウジ(管理人) より:
          2013年7月23日 10:58 PM

          .hの中で変数宣言すれば、
          .mの中でどこでも呼び出して使えますよ。

          @interface MasterViewController : UITableViewController
          {
          NSArray *data;
          }

          みたいな感じで。

          返信
  2. まお より:
    2016年3月17日 11:38 AM

    参考にさせていただいて、やりたいことがうまくできました。
    とてもわかりやすく、すんなり理解できました。
    ありがとうございます。

    返信
    • 葛葉 キョウジ(管理人) より:
      2016年3月18日 2:16 PM

      古い記事ですが、お役に立てて幸いです。

      返信
返信をキャンセルする。

email confirm*

post date*

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

  • お知らせ


    毎週日曜25時から25時30分までは定期サーバーメンテナンスタイムです。
    サーバーの再起動やアップデートを行いますので、ブログに接続出来なくなる場合があります。

  • About

    kyoji_kuzunoha HN:葛葉キョウジ
    Apple信者です。
    iPhoneを使いたくてSoftBankにMNPしたら、電波がクソ過ぎてトランシーバー並みに使えなかったので、なんとかdocomo回線で使おうと研究した結果、SIMフリーiPhoneにたどり着く。
    でも、docomoメールが使えないので色々調べたらimotenという神サーバーソフトがあることを知り、VPSと出会う。
    imotenのために仕方なく借りたVPSを色々いじっているうちにのめり込み、チューニングしまくってAirVideoサーバー、WebDAVサーバー、ミュージックストリーミングサーバーにセットアップして超快適な環境に。
    設定方法などを自分のメモとして書きためつつ、現在はXcodeを勉強中。
    ゲーム、ガジェット、料理が大好きな30オーバーのオッサンです。
    毎日ブログ更新してます。(日曜は休み)
  • 最近のコメント

    • 【お風呂で】ジップロック最強すぎワロタ【iPhone&iPad】 に お風呂でiPhoneを楽しむための簡単防水術 | おにぎりまとめ より
    • 【白黒】iPhoneの画面の色が反転してしまった時の対処法【ネガ】 に 山野邊弘次 より
    • 【白黒】iPhoneの画面の色が反転してしまった時の対処法【ネガ】 に 山野邊弘次 より
    • 【白黒】iPhoneの画面の色が反転してしまった時の対処法【ネガ】 に 山野邊弘次 より
    • いい蕎麦屋。悪い蕎麦屋。 に やまがた より
    • 【白黒】iPhoneの画面の色が反転してしまった時の対処法【ネガ】 に たけ より
    • 【白黒】iPhoneの画面の色が反転してしまった時の対処法【ネガ】 に 葛葉 キョウジ(管理人) より
    • 【白黒】iPhoneの画面の色が反転してしまった時の対処法【ネガ】 に 匿名 より
    • 【白黒】iPhoneの画面の色が反転してしまった時の対処法【ネガ】 に 匿名 より
    • 【白黒】iPhoneの画面の色が反転してしまった時の対処法【ネガ】 に 葛葉 キョウジ(管理人) より
  • 最近の投稿

    • 【内臓保護】酒量を思い切り減らしてみた【アル中予防】
    • 毎日豆乳を飲んでみた【1ヶ月目】
    • MacBookに対応しているMoshiのUSB-C充電ケーブルを買ってみた
    • MacBookにインストールしたアプリ
    • MacBook2016の使用感その1
    • 【Mac】ことえりのライブ変換を使ってみた【El Capitan】
    • ジャストシステムのポータブルバッテリーを買ってみた
    • 【MacBook】iPhoneのテザリングについて
    • MacBook2016とアクセサリを購入してみた
    • iPhone6PlusからiPhone6sに乗り換えてしばらく経った現在の使用感
  • 人気記事

    • 【imoten】SIMフリーiPhoneで、iモードメール@docomo.ne.jpを使ってみた。設定編【yahoo!版】 481件のコメント
    • 【Gmail】CentOS6.x(64bit)でimotenを設定して@docomo.ne.jpメールを使う【主にさくらインターネット編】 268件のコメント
    • imotenQ&A 184件のコメント
    • 【DTI】SIMフリーiPhoneでdocomo.ne.jpメールを送受信する方法【outlook.com編】 130件のコメント
    • 【Gmail】CentOS5.x(32bit)でimotenを設定して@docomo.ne.jpメールを使う【主にDTI編】 126件のコメント
    • 【iPhone】imotenの送信メールをSSLで暗号化する【docomoメール】 112件のコメント
    • 【MyCloud】さくらVPSをAirVideoサーバーにする【ストリーミング】 99件のコメント
    • docomo版iPhone5s(5c)用SIMについてちょこっと考察してみた 99件のコメント
    • 【imoten】SIMフリーiPhoneで、iモードメール@docomo.ne.jpを使ってみた。設定編【Gmail編】 97件のコメント
    • SPモードメールをiPhoneでプッシュさせる【docomo.ne.jp】 97件のコメント
  • アーカイブ

  • カテゴリー

    • amazon
    • android
    • Apple
      • AppStore
      • iPad
      • iPhone
      • Mac
    • AppleWatch
    • blog
      • WordPress
      • 移転作業ログ
    • code
    • docomo
    • Game
      • 100万人の信長の野望
      • 3DS・DS
      • PCgame
      • PlayStation
      • XBOX360
    • MVNO
    • News
    • SIM
    • VPS
      • imoten
        • DTI
        • imoten機能拡張
        • さくらVPS
        • はじめに
      • セキュリティ対策
      • 機能拡張
    • Windows
      • ターミナルサービス
    • Xcode
    • おすすめアプリ
    • おすすめ周辺機器
    • グルメ
      • レシピ
    • もっと評価されるべき
    • リモートデスクトップ
    • レビュー
    • 健康
      • ダイエット
      • ランニング
    • 動画
      • TAS
      • スーパープレイ
    • 周辺機器
    • 学習
      • 英語
    • 未分類
    • 雑談

Copyright © くずのは探偵事務所,All right reserved.