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.
SWIFT STUDY VOL.3
Created by Nagamine Hiromasa
SWIFT 勉強会
iOSアプリを開発してみたい
Swiftってどういうもの?
など、Swiftに興味を持っている人向けに
勉強会を開いています。
AGENDA
1. 前回のおさらい
2. ViewController
3. Gestrue Event
4. Closure
1. 前回のおさらい
Variable Type
View
Function
VARIABLE TYPE
変数を定義する場合2つのパターンがある
/* 変数を扱う場合 */
var : 中の値を変化させることができる
var num = 123
num = num + 10
/* 定数を扱う場合 */
let : 一度値...
VARIABLE TYPE
/* Int:数値, Double, Float:小数値 */
var number: Int = 123
var number: Double = 3.14
/* String:文字列 */
var text: S...
VIEW
画像やテキスト、図形などのオブジェクトを表示
UIKitというFrameworkを呼び出して使う
UIKit.frameworkのViewオブジェクト
UIView, UIImageView, UITextView, UITextFi...
VIEW
100x100、背景色がブルーのビューのサンプルコード
// サンプルコード
// サイズを生成 (x, y, width, height): x,yは表示位置
var rect = CGRectMake(0, 0, 100, 100...
FUNCTION
関数の定義
/* 戻り値なし */
func aMethod(){...}
/* 戻り値あり */
func aMethod() -> 戻り値型 {
...
return 戻り値
}
/* 引数渡し */
func aMeth...
FUNCTION
関数の使用例
/* "Hello, World"を出力 */
func printHelloWorld(){
println("Hello, World")
}
printHelloWorld() // => "Hello, ...
前回使った資料
Swift勉強会vol.1 資料
Qiita - Swiftでビューを操作する
2. VIEWCONTROLLER
ViewControllerとは?
画面の表示
遷移
dismiss/pop ViewController
VIEWCONTROLLERとは?
Viewを管理(表示・配置・アニメーションなど)
受け取ったデータに合わせてTextやViewを表示・操作
ViewControllerは自身にもViewを持っている
プロジェクト作成
ViewControllerは、Xcodeのプロジェクトを作成すると使えます。
まずは、Projectを作成します。
プロジェクト作成
画面の表示
Xcodeプロジェクトには最初からViewControllerが存在。
なので、プロジェクトを実行すれば画面を表示できます。
ビルド方法:Command + Shift + r
遷移
iOSアプリの画面の遷移は、以下の条件で行う
別のViewControllerへ移動
複数ViewControllerが必要
なので、新しくViewControllerを1つ作成します。
遷移
File -> New -> File (command + N) でSwiftファイルを選択
"BlueViewController"という名前をつける
import UIKit
class BlueViewController: UI...
遷移
BlueViewControllerへ遷移するためのボタンを設置
ボタンの設置には、Main.storyboardを使用する
遷移
遷移の種類
Push
Modal
Popover
etc..
資料
Qiita - SwiftでViewControllerを使う
PROBLEM 1
1. ViewControllerにボタンを追加しましょう
BlueButton: Text = "Blue"
RedButton: Text= "Red"
2. プロジェクトにViewControllerを追加しましょう。...
PROBLEM 1
Problem 1 解答コード
3. GESTRUE EVENT
Gestureとは?
種類
処理の流れ
ジェスチャーの追加
GESTUREとは?
画像を拡大、ゲームでアイテムをタップするときの指の動き
指の動きに対して、対応するジェスチャーがある
Viewにジェスチャーをするとイベントが発生する
種類
Tap
Pan
Pinch
Rotate
Swipe
LongPress
処理の流れ
ジェスチャーの追加
タップすると発生する処理をViewControllerに実装します
ここでは、"tapGesture"というメソッドを定義します
var view1: UIView!
func tapGesture(gestureRecog...
ジェスチャーの追加
ジェスチャーを生成します。
Selectorクラスを使って呼び出すメソッドを指定します。
var aSelector = Selector("tapGesture:")
var tapRecognizer = UITapGe...
ジェスチャーの追加
ViewControllerに処理を追加すると以下のようになります。
ソースコードは下にスクロールします。
override func viewDidLoad() {
super.viewDidLoad()
self.vie...
資料
Qiita - Swiftでジェスチャーの追加
GitHub - Gesture Sample Basic
PROBLEM 2
1. x: 100, y:100, width:100, height:100, backgroundColor: .blueColor
のビューを追加しましょう
2. 1で追加したViewをタップしたら、赤-> 青と変化す...
4. CLOSURE
Closureとは?
サンプルコード
CLOSUREとは?
一時的な関数を定義することができる
関数内でも定義することができる
ネストした環境にcallbackを渡すときなどに必要
JavaScriptなどでも取り入れられている
クロージャー書き方
var closure = {(a: Int, b: Int) -> 戻り値型 in
return 戻り値
}
サンプルコード
func executeClosureSample() {
// 足し算クロージャー
var c...
PROBLEM
参考資料:GitHub - GestureSumple
少し告知
イベント
Swift もくもく会vol.3 (日付は未定)
Swift勉強会vol.4 (日付は未定)
今後、開催を予定しています
グループ
Swift頑張る会(Facebook)
Swift勉強会(Connpass)
現在2つグループがあります
これで、 は終了です。
ご参加有難うございました。
Swift勉強会vol.3
Upcoming SlideShare
Loading in …5
×

Swift study vol.03

1,800 views

Published on

Swift勉強会 Vol.3資料

Published in: Engineering
  • Be the first to comment

Swift study vol.03

  1. 1. SWIFT STUDY VOL.3 Created by Nagamine Hiromasa
  2. 2. SWIFT 勉強会 iOSアプリを開発してみたい Swiftってどういうもの? など、Swiftに興味を持っている人向けに 勉強会を開いています。
  3. 3. AGENDA 1. 前回のおさらい 2. ViewController 3. Gestrue Event 4. Closure
  4. 4. 1. 前回のおさらい Variable Type View Function
  5. 5. VARIABLE TYPE 変数を定義する場合2つのパターンがある /* 変数を扱う場合 */ var : 中の値を変化させることができる var num = 123 num = num + 10 /* 定数を扱う場合 */ let : 一度値を入れると変更できない let num = 123 // num = num + 10 <= Error
  6. 6. VARIABLE TYPE /* Int:数値, Double, Float:小数値 */ var number: Int = 123 var number: Double = 3.14 /* String:文字列 */ var text: String = "This is String" /* Array, Dictionary:数値 */ var array: Array = Array(1, 2, 3) Swiftは型推論なので、型を省略できます /* 型を省略 */ var array = Array(1, 2, 3)
  7. 7. VIEW 画像やテキスト、図形などのオブジェクトを表示 UIKitというFrameworkを呼び出して使う UIKit.frameworkのViewオブジェクト UIView, UIImageView, UITextView, UITextField, UILabel, UIButton, etc...
  8. 8. VIEW 100x100、背景色がブルーのビューのサンプルコード // サンプルコード // サイズを生成 (x, y, width, height): x,yは表示位置 var rect = CGRectMake(0, 0, 100, 100) // 色を生成 var bgColor = UIColor.blueColor() // 生成したサイズを使って、ビューを生成 var view = UIView(frame: rect) // ビューの背景に色を設定 view.backgroundColor = gbColor
  9. 9. FUNCTION 関数の定義 /* 戻り値なし */ func aMethod(){...} /* 戻り値あり */ func aMethod() -> 戻り値型 { ... return 戻り値 } /* 引数渡し */ func aMethod(int a:Int, int b:Int) -> 戻り値型 { ... return 戻り値 }
  10. 10. FUNCTION 関数の使用例 /* "Hello, World"を出力 */ func printHelloWorld(){ println("Hello, World") } printHelloWorld() // => "Hello, World"が出力される /* 引数の和 */ func sum(var a:Int, var b:Int) -> Int { var ans = a + b return ans } var ans = sum(5, 10) // => ans: 15
  11. 11. 前回使った資料 Swift勉強会vol.1 資料 Qiita - Swiftでビューを操作する
  12. 12. 2. VIEWCONTROLLER ViewControllerとは? 画面の表示 遷移 dismiss/pop ViewController
  13. 13. VIEWCONTROLLERとは? Viewを管理(表示・配置・アニメーションなど) 受け取ったデータに合わせてTextやViewを表示・操作 ViewControllerは自身にもViewを持っている
  14. 14. プロジェクト作成 ViewControllerは、Xcodeのプロジェクトを作成すると使えます。 まずは、Projectを作成します。
  15. 15. プロジェクト作成
  16. 16. 画面の表示 Xcodeプロジェクトには最初からViewControllerが存在。 なので、プロジェクトを実行すれば画面を表示できます。 ビルド方法:Command + Shift + r
  17. 17. 遷移 iOSアプリの画面の遷移は、以下の条件で行う 別のViewControllerへ移動 複数ViewControllerが必要 なので、新しくViewControllerを1つ作成します。
  18. 18. 遷移 File -> New -> File (command + N) でSwiftファイルを選択 "BlueViewController"という名前をつける import UIKit class BlueViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // 背景色にブルー設定する self.view.backgroundColor = .blueColor() } }
  19. 19. 遷移 BlueViewControllerへ遷移するためのボタンを設置 ボタンの設置には、Main.storyboardを使用する
  20. 20. 遷移 遷移の種類 Push Modal Popover etc..
  21. 21. 資料 Qiita - SwiftでViewControllerを使う
  22. 22. PROBLEM 1 1. ViewControllerにボタンを追加しましょう BlueButton: Text = "Blue" RedButton: Text= "Red" 2. プロジェクトにViewControllerを追加しましょう。 BlueViewController: BackgroundColor = Blue RedViewController: BackgroundColor = Red 3. それぞれの画面へ遷移する処理を追加しましょう BlueButton => BlueViewController RedButton => RedViewController
  23. 23. PROBLEM 1 Problem 1 解答コード
  24. 24. 3. GESTRUE EVENT Gestureとは? 種類 処理の流れ ジェスチャーの追加
  25. 25. GESTUREとは? 画像を拡大、ゲームでアイテムをタップするときの指の動き 指の動きに対して、対応するジェスチャーがある Viewにジェスチャーをするとイベントが発生する
  26. 26. 種類 Tap Pan Pinch Rotate Swipe LongPress
  27. 27. 処理の流れ
  28. 28. ジェスチャーの追加 タップすると発生する処理をViewControllerに実装します ここでは、"tapGesture"というメソッドを定義します var view1: UIView! func tapGesture(gestureRecognizer: UITapGestureRecognizer){ // タップviewの色を変える (Red <=> Blue) if(view1.backgroundColor == .redColor()) { view1.backgroundColor = .blueColor() } else { view1.backgroundColor = .redColor() } }
  29. 29. ジェスチャーの追加 ジェスチャーを生成します。 Selectorクラスを使って呼び出すメソッドを指定します。 var aSelector = Selector("tapGesture:") var tapRecognizer = UITapGestureRecognizer(target: self, action: aSelector)
  30. 30. ジェスチャーの追加 ViewControllerに処理を追加すると以下のようになります。 ソースコードは下にスクロールします。 override func viewDidLoad() { super.viewDidLoad() self.view.backgroundColor = .whiteColor() // ジェスチャーの生成 var aSelector = Selector("tapGesture:") var tapRecognizer = UITapGestureRecognizer(target: self, action: aSelector)) // ビューの生成 view1 = UIView(frame: CGRectMake(30, 30, 100, 100)) view1.backgroundColor = .redColor() // ジェスチャーの追加 view1.addGestureRecognizer(tapRecognizer) self.view.addSubview(view1) } // ジェスチャーイベント処理
  31. 31. 資料 Qiita - Swiftでジェスチャーの追加 GitHub - Gesture Sample Basic
  32. 32. PROBLEM 2 1. x: 100, y:100, width:100, height:100, backgroundColor: .blueColor のビューを追加しましょう 2. 1で追加したViewをタップしたら、赤-> 青と変化するようにジ ェスチャーを追加してみましょう 3. 画面の白い部分をタップしたら、2のビューが緑になるジェス チャーを追加してみましょう 4. 3のジェスチャーを書き換えて、タップした位置に新しく2の ビューを追加してみましょう
  33. 33. 4. CLOSURE Closureとは? サンプルコード
  34. 34. CLOSUREとは? 一時的な関数を定義することができる 関数内でも定義することができる ネストした環境にcallbackを渡すときなどに必要 JavaScriptなどでも取り入れられている
  35. 35. クロージャー書き方 var closure = {(a: Int, b: Int) -> 戻り値型 in return 戻り値 } サンプルコード func executeClosureSample() { // 足し算クロージャー var closureAdd = {(#a: Int, #b: Int) -> Int in return a + b } testClosure(a: 1,b: 2,closureAdd) // 引き算クロージャー var closureSubstract = {(#a: Int, #b: Int) -> Int in return a - b } testClosure(a: 1,b: 2, closureSubstract) }
  36. 36. PROBLEM
  37. 37. 参考資料:GitHub - GestureSumple
  38. 38. 少し告知
  39. 39. イベント Swift もくもく会vol.3 (日付は未定) Swift勉強会vol.4 (日付は未定) 今後、開催を予定しています
  40. 40. グループ Swift頑張る会(Facebook) Swift勉強会(Connpass) 現在2つグループがあります
  41. 41. これで、 は終了です。 ご参加有難うございました。 Swift勉強会vol.3

×