Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

第三回 iOSアプリ勉強会

385 views

Published on

第三回 iOSアプリ勉強会の内容

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

第三回 iOSアプリ勉強会

  1. 1. 第三回iOSアプリ勉強会
  2. 2. 今日の内容 ・前回の復習 ・Classについて ・Storyboardの簡単な使い方 ・簡単なアプリを実装しよう!!
  3. 3. 前回の復習 XcodeのPlaygroundを開いてください
  4. 4. 前回の復習 ・Optional型について 何も無いことを表すnilを扱うためにはOptional型でwrapする その変数(定数)を使用する際は!でunwrapする必要がある。
  5. 5. 前回の復習 ・型の変換(CAST)について 「as?」でCASTをするができない場合もある。 「as?」で変換したらOptional型になる。変換できない場合はnilとなる。
  6. 6. 前回の復習 ・制御構文
  7. 7. Classについて 1. Classの宣言 もっとも小さいクラスの宣言 宣言と実装のように記述を二つ書く必要はなく、ただ単にクラスキーワード、クラス名、中 括弧で終わり プロパティや関数を宣言するには、中括弧{}の中にかく
  8. 8. Classについて このPlayerクラスは、positionという名前の座標情報を保持するプロパティを持っていて、 デフォルトでは(0, 0) moveToという関数はプレイヤーを任意の位置に移動させる関数です ここではpositionに初期値を設定してありますが、設定しないとコンパイルエラーになります その理由は、現状Playerクラスはイニシャライザ(コンストラクタに相当)を持っていないため
  9. 9. Classについて 2. インスタンスの生成 先ほど作ったクラスのインスタンスは以下のようにして生成する クラスのインスタンスを生成するには、ただ単にクラス名の後に「()」をつけるだけ プロパティやメソッドへのアクセスは「.」をつけて行う イニシャライザが指定されている場合引数を記述する。 それぞれの引数には変数名をつける必要がある。
  10. 10. Classについて イニシャライザinit() ここの変数名(position)は、外部 変数名と呼ばれ、通常イニシャ ライザの内部処理を記述すると きにそのまま内部変数名として 使われますが、左のように書く ことで、外部変数名と内部変数 名を別の文字列にすることが可 能
  11. 11. Classについて 3. メソッド クラスのインスタンスの持つ関数を呼び出すには、「.」のあとに関数名を書く。 player.moveTo(Point(x:100, y:-100)) 引数の外部変数名は、関数側で明示的に書かない限り、呼び出し時には指定せず、内部変数名を外 部変数名として指定した場合には、コンパイルエラーになる ⇩先ほどのPlayerクラスのmoveTo()メソッドをちょっと修正
  12. 12. Classについて 4. クラスの継承 クラスを継承して新たなクラスを作成するには、以下のようにクラス名の後に「:」を書き、その後 に親クラスの名前を書く 子クラスは、自動的に親クラスの持つイニシャライザを継承 子クラスのイニシャライザでは、親クラスのイニシャライザを呼び出す必要がある
  13. 13. 演習問題 BMIを計算し、判定するclassをつくりたい BMIの計算に必要な要素は身長(m)と体重(kg) 計算式は BMI=体重÷(身長×身長) (標準体重=(身長×身長)×22) 判定は BMIが18.5未満=>「痩せ」 BMIが18.5~25未満=>「標準」 BMIが25〜30 => 「肥満」 BMIが30以上=> 「高度肥満」
  14. 14. Storyboardの使い方(ざっくり) ざっくりとStoryboardの使い方を解説します 機能がありすぎて僕自身まだまだ使いこなせていませんし、ググったらより詳しい解説がすでにた くさんあります。 今回は先ほど実装したBMI計算クラスを使って入力=> 計算=> 結果表示をさせるアプリを作るため の簡単な使い方を解説します。 まずは Xcode のmenuからFile > New > Project で新しいプロジェクトを作成してください
  15. 15. Drag & Drop 今回使うのは Label Button Text Field の3つです
  16. 16. こんな感じで作りましょう! 配置はてきとーで構わないです 各部品は右メニューの値をいじることで設定で きます BackgroundやButtonを画像するだけでも アプリっぽさを演出できます これだけではパーツを配置しただけなので プログラムに紐付け処理とパーツを関連させる 必要があります Button Label Text Field
  17. 17. 右上のの真ん中のボタンをClick! 画面を分割しViewControllerを表示 右クリック??したままDrag & Drop もしくは controlキーを押しながらDrag & Drop
  18. 18. Outlet は部品の配置。nameはプログラムで扱う変数になります Action は部品になにかしらのactionを起こした時の処理。nameはプログラムで扱うメソッド名 今回はButtonを押した時にText Fieldに入力された「身長」「体重」を元に計算を行い、結果を返す 処理を実装します。(計算は先ほど作ったクラスを使いましょう) 結果はラベルにテキストとして出力させます。 とりあえず実践してみましょう!!!! 細かい箇所は口頭で説明します
  19. 19. 各個人ですすめる課題として考える簡単なアプリ例仕様 ①地図アプリ(MapKit.frameworkを使用) 地図表示させる 現在地を表示 更新ボタンで現在地を更新 地図上にピンを立て情報を表示 (経路検索) ②APIで外部からデータを取得し、アプリ内で表示(サーバ側のプログラムが必要) DBは使っても使わなくてもどっちでもOK サーバ側(PHPかな?)にAPIの機能を実装 NSURLConnectでアクセスしデータを取得 TableViewControllerに一覧をlistで表示(出力形式はなんでもいいです。扱うデータによります。) (listを押したら画面遷移し詳細なデータを表示) ニュースアプリ的なものをイメージ

×