More Related Content
PDF
PDF
PDF
これからはじめる SwiftPlayground入門 PDF
Objective-Cプログラマのためのswift導入法 PDF
PDF
Swift 3 その基本ルールを眺める #cswift PDF
iOS 8/Swift 概要 #ios8yahoo PDF
What's hot
PDF
PDF
PDF
もしiOS8のカスタムキーボードがガジェットのSDKを搭載したら Ver.#ios8yahoo PDF
yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」 PDF
PDF
NSNotification in Swift #cocoa_kansai PDF
PDF
iOS 8 Widget ~ 導入から Tips まで PPTX
【Swift】 それ、enumとstructでやってみましょう!! PDF
PDF
Swift : クラス継承とプロトコル拡張を比べてみる #yidev PDF
PDF
PPTX
PDF
PDF
Swiftアプリ制作入門 かんたんシューティングゲーム PPTX
PDF
milkcocoa入門@milkcocoa meetup#1 PDF
PDF
Core Image Tips & Tricks in iOS 9 Similar to Swift勉強会
PPTX
PDF
PDF
PDF
PDF
Swift事情2014夏 ~ Swift入門 beta6対応 PDF
Apple審査を一発通過!iOS開発経験0でも出来るじげん流Swift開発のすべて PDF
PDF
PDF
20140822 Swift 勉強会 vol.3 - はぢめての Swift PDF
Swiftビギナーズ勉強会 第1回 @Co-Edo PDF
PDF
できるプログラマーを本気で育てるSwift超入門iosプログラマーへの第一歩 PDF
PPTX
PDF
Swiftビギナーズ勉強会 第一回@Co-Edo PPTX
PDF
PDF
PDF
iPhoneアプリ開発Swift講座無料セミナー(appcre.com) PDF
Swift勉強会
- 1.
- 2.
About
Hiromasa Nagamine
Works!
• iOS Engineer!
SNS!
• Twitter: @web_chiro!
• Facebook!
History!
• University of Aizu!
• Adways Studio!
• LINE Corporation
- 3.
- 4.
- 5.
- 6.
- 7.
できること
❖ iOS/OSXアプリの開発!
❖ iPhone Extensionの開発!
❖ プッシュ通知のコントロール!
!
❖ Objective-Cのコードを利用できる!
❖ より高品質なアプリを作る
- 8.
- 9.
- 10.
- 11.
1. Designed Safety
❖ メモリ自動管理!
❖ ARC(Automatic Reference Counting) - Objective-C!
❖ 参照の状態に合わせてメモリの確保、解放を自動管理!
❖ 変数の初期化!
❖ 変数に何も値が入っていない状態だと、その変数を利用できないに設計さ
れている!
❖ nilといった様な値が無い状態を示す値を代入できない(!/? optionの利用)!
❖ 変数名などの簡略化!
❖ var, letの様に定義を簡略化することで人為的ミス/負担を削減
- 12.
2. Modern
❖Objective-Cには無かった現代的な機能の追加!
❖ 名前空間 (namespace)!
❖ ジェネリックス (generics)!
❖ クロージャ (closure)!
❖ 複数戻り値!
!
❖ これらによって、プログラムが持つ幾つかの複雑性を解消できる
- 13.
3. Fast &Powerful
❖ 複雑なソートや暗号化タス
クによる処理の高速化!
❖ Python, Objective-Cより
も高速化されていること
をAppleが数値で公開
- 14.
3. Fast &Powerful
❖ 高速化によって、アプリの最適化の作業を軽減できる!
!
❖ 処理を高速化する事で、よりパワフルなアプリ開発が可
能に
- 15.
4. Interactive
❖Playgroundモードの追加!
❖ このモードで実装することで、コーディングしながら処理の結果を確認するこ
とができる!
❖ REPL (Read-eval-print Loop)!
❖ コンソールに直接Swift言語を入力する事で、処理中の値を確認することが出
来る!
❖ Ruby, Pythonなどのいくつかのスクリプト言語、関数型言語に導入されている!
!
❖ これらを利用する事で、デバッグなどの作業を容易にすることができる
- 16.
- 17.
- 18.
簡単にまとめ
❖ Swiftでできること!
❖ iOS/OS Xのアプリ開発が可能!
❖ Objective-Cとの共存が可能!
❖ Modern!
❖ ジェネリクス、クロージャといった現代的な概念を追加!
❖ Designed Safety!
❖ メモリ不足や人為的ミスを減らすセーフティな設計!
❖ Fast & Powerful!
❖ 複雑な処理やタスクの暗号化による処理の高速化!
❖ Interactive!
❖ PlaygroundやREPLによる対話的な作業が可能になり、デバッグ等が容易に
- 19.
- 20.
- 21.
- 22.
Xcode
❖ Swift!
❖ Swift対応はXcode 6 (最新バージョン) から対応!
❖ プロジェクトの作成!
❖ Playgroundモード、通常モード!
❖ アプリのビルドとシミュレーターの起動!
❖ シミュレータと実機
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
変数型の種類と扱い
❖ Int: 整数値、 Float/Double:小数値!
• 数値を扱う型!
• var number: Int = 1 / var nubmer: Double = 10.5!
!
❖ String:テキスト!
• 文字列を扱う型!
• var text: String = “Hello, World.”!
!
❖ Array, Dictionary:配列、ハッシュ!
• 配列を扱う型!
• var array: Array = Array(1, 2, 3)!
• println(array[0]) // Output: => 1
- 33.
- 34.
関数
funcを使って!
❖戻り値なし関数!
• func aMethod(){ …. }!
!
❖ 戻り値あり関数!
• func aMethod() -> 戻り型{ ….
return 戻り値
}!
!
❖ 引数あり関数!
• func aMethod(var a:Int, var b:Int){ …. }
- 35.
- 36.
- 37.
UIKit
❖ UserInterface - UIKit Framework!
❖ Cocoa/Cocoa TouchのUIを利用するために必要なFramework!
• UIViewController!
• UIView!
• UIButton!
• UILabel!
• UITextField!
• etc…
- 38.
Action
❖ addTarget()- UIButton!
❖ ボタンを押したときのアクションを指定できる!
❖ UIControlEvent - !
❖ TouchUpInside!
❖ TouchDragOutside!
❖ EditingDidEnd!
❖ etc…
- 39.
ビューの色、配置/サイズの指定
❖ UIColor- 色を指定する!
❖ view.backgroundColor = UIColor.blueColor()!
❖ blue, red, yellow, green, gray, white, black!
❖ CGRect - 配置・サイズを指定する!
❖ view.frame = CGRectMake(x, y, width, height)
- 40.
目標2
❖ 幅400、高さ400のUIViewの上に赤、青、黄色のUIView
を配置してみましょう。幅・高さはともに60です。!
• redColor : x=30, y=30, witdh=60, height=60!
• blueColor : x=120, y=30, witdh=60, height=60!
• yellowColor : x=210, y=30, witdh=60, height=60
- 41.
- 42.
目標3
1. UITextField,UIButton, UILabelを使ってUITextFieldに
入力した値を、送信ボタンを押してUILabelに出力する
処理を書いてみましょう。
2. Redボタン、Blueボタン、Yellowボタンを設置して
UIViewのバックグラウンドの色を切り替える処理を書
いてみましょう。
- 43.
Cocoa touch Framework
❖ Framework!
❖ UIKit - UIを利用する!
❖ Foundation - NSデータ構造を利用する!
❖ CoreData - コアデータを利用する!
❖ MapKit - Map APIを利用する!
❖ etc…
- 44.
- 45.
まとめ
❖ Swiftとは!
• 4つの特徴:Designed safety, Modern, Fast, Interactを備えている!
• より高品質なアプリ開発がしやすくなっている!
!
❖ 開発について!
❖ iOS/OS Xの機能を使うためにFrameworkをインポートして使う!
❖ UIは基本的にViewの上に様々なパーツを乗せて実装していく
- 46.