SlideShare une entreprise Scribd logo
1  sur  88
Télécharger pour lire hors ligne
iOSアプリを作ってみたい人のための
Swift入門
nakasen_20th
目指すところ
• Swift言語の特徴を知る
• Swift言語でiOSアプリを作る
前提
• 他言語でのプログラミング経験がある
• Xcode 6.3以降がインストールされた

Macintoshを持っている
• メモリ4GB以上
学習項目
1. Swift言語概要
2. Xcode基礎
3. Swift基礎
4. UIKit基礎
5. サンプルアプリ作成
1. Swift言語概要
• Apple社が開発、2014年6月発表
• OS X、iOSアプリ開発用言語
• Objective-C言語からの移行に配慮
• 他言語の長所を吸収、基本的に関数型
• 言語仕様がまだ流動的
(なぜSwift言語が誕生したのか?)
iOSのバージョン
• Swift言語はiOS7(& OS X 10.9)以降に対応
• 今回はiOS8以降のみを対象
‣ iOS8動作機種
• iPhone4S以降
• iPad 2以降、iPad mini全て
• iPod Touch 第5世代以降
フレームワーク
• https://developer.apple.com/legacy/library/
documentation/Cocoa/Conceptual/
CocoaFundamentals/CocoaFundamentals.pdf







• 各フレームワークの機能を利用して一番上層の

アプリケーション部を作成する。
2. Xcode基礎
• Apple社純正統合開発環境
• バージョンは最新(6.4)にしておく

(20150711現在)
• Swift言語の基礎を学ぶ時は「Playground」で
• iOSアプリ構築時は「Project」で
• 画面構成を覚える
Playground画面
• 「File」→「New」→「Playground」
• エディタエリア(初期画面)
• Assistant Editor画面を表示

「View」→「Assistant Editor」→

「Show Assistant Editor」
• ソースコード入力で自動実行
Playground画面
Project画面
• 「File」→「New」→「Project」
• 通常のiOSアプリは

「Single View Application」で
• 大きく分けて3つのエリア
✦ Navigators Area
✦ Debug Area
✦ Utilities Area
Project画面
• 主に左右に3分割で把握













Storyboard
• エディタエリアの初期状態を確認
• Document Outlineを表示
View Controllerがひとつ
その上にViewがひとつ
Object library
• UIパーツを確認
• ドラッグでView上に配置
Label
Button
View Controller
セグエで連結
• Buttonから次のView Controllerへ

Control + ドラッグ
• セグエの種類は「Show」
• 最初のView ControllerにNavigation
ControllerをEmbed In
• もう一度Document Outlineを確認
Navigation Controller
• View Controllerの遷移を記録して管理
• 画面上部のNavigation Barに戻るボタンを

自動生成
• Embed InしたView Controllerから記録開始
Attributes inspector
• Viewの属性を変えてみる
• Labelのテキストを変えてみる
• Buttonの種類を変えてみる
• Segueの種類を変えてみる
ビルド、実行
• ここで実行してみる(iOSシミュレータの起動)
• ハードウェアを選択
• 画面の向きを変えてみる
3. Swift基礎
a. 変数と定数、型
b. 式、演算
c. 構文
d. 関数
e. クラス
f. オプショナル型
g. その他の型
a. 変数と定数、型
• 変数と定数は値の入れもの
• 変数は値の変更あり、定数は値固定
• 可能であればなるべく定数で宣言
• 宣言時、型は省略可能(型推論が可能な場合)
a. 変数と定数、型
• 代表的な型
✦ Int(整数)
✦ Double、Float(実数)
✦ Bool(真偽)
✦ String(文字列)
変数、定数の宣言
b. 式、演算
• 式と演算は他の言語とほぼ同じ
✦ 各種演算子(代入、算術、比較、論理…)
✦ 演算順序
✦ 実例で習得
c. 構文
• if文
✦ 条件式の書き方に注意
• for文
• while文
• Switch文
if文、for文
switch文
列挙型とswitch文
d. 関数
• 数学の関数との違い
• 引数と戻り値
• 引数がない場合、1つある場合、

2つ以上ある場合
• 戻り値がない場合、ある場合
• 関数の型
関数の書き方
(1) func 関数名{}
(2) func 関数名(引数リスト){}
(3) func 関数名(引数リスト) -> 戻り値の型 {}
(4) func 関数名(引数リスト) -> 戻り値の型 {

処理(戻り値を求めるなど)

}
関数の書き方
• 引数リストの指定
✦ 引数がない場合

()
✦ 引数が1個の場合

(引数名: 型名)
✦ 引数が2個以上の場合

(引数名1: 型名, 引数名2: 型名・・・)
関数の書き方
関数の書き方
• 関数の実行(呼び出し)
✦ 関数名(引数名: 値・・・)











e. クラス
• クラスは変数と関数からなる設計図
• クラスでの変数はプロパティ、関数はメソッド
• 設計図をもとに作られた実体がインスタンス
• Swiftではクラス(とクロージャ)のみ参照型
• 継承とイニシャライザ
クラスの書き方
(1) class クラス名{}
(2) class クラス名: スーパークラス名{}
(3) class クラス名: スーパークラス名{

プロパティ宣言

メソッド宣言

}
クラスの書き方
クラスの書き方
• クラスの利用(インスタンス作成、実行)













イニシャライザ
• initという特別な名前を持つメソッド
• クラス(や構造体)の初期化のために用いる











イニシャライザ
• イニシャライザの呼び出し













e .      構造体
• 構造体はクラスとほぼ同じ方法で定義
• クラスとの違いは「値型」であること

(クラスは「参照型」)
• メソッドの引数の指定方法に一部違いあり
• クラスメソッド→タイプメソッド
• クラスプロパティ→タイププロパティ
f. オプショナル型
• nilの存在(値が何も入っていない状態)

(空白、""、0はnilではない)
• nilにアクセスすると実行時エラー
• nilをうまく使うプログラミングも可能

nilは必要
オプショナル型
• 変数宣言時に「?」をつけるとオプショナル型

(変数をラップ)
• オプショナル型から変数の中身を取り出すとき
は「!」(アンラップ)
• nilの存在を気づかせてくれるのがオプショナル型
オプショナル型
オプショナル型の書き方
• オプショナル型を「!」で宣言すると

アンラップ時「!」が不要(暗黙的アンラップ)



• オプショナル型変数のプロパティに

アクセスする時に「?」を付加

(オプショナルチェーン)
g. その他の型
• Array(配列)
• Dictionary(辞書、連想配列、ハッシュ)
• Any、AnyObject(様々な型を含められる)
• さまざまな数値型
• その他新たな型をどんどん作れる仕組みあり

(クラス、構造体、列挙型、プトロコル・・・)
Array
Dictionary
型の変換
• 数値計算での型合わせ(型変換)













型の変換
• スーパークラス、サブクラス間の型合わせ

(アップキャスト、ダウンキャスト)











4. UIKit基礎
• UI(ユーザインターフェース)の役割
情報の伝達
ユーザの誘導
総合的なユーザ体験
• UIで迷ったらAppleのドキュメントに立ち返る

「iOSヒューマンインターフェースガイドライン」

https://developer.apple.com/jp/devcenter/ios/library/
documentation/userexperience/conceptual/mobilehig/
BasicsPart/BasicsPart.html#//apple_ref/doc/uid/
TP40006556-CH2-SW1
StoryboardでUI構築
• UI構築作業をStoryboardに任せる
• もう一度Object libraryでUIパーツを確認
• もう一度Attributes inspectorの項目を確認
ViewControllerグループ
• UIViewControllerクラス
• UINavigationControllerクラス
• UITableViewControllerクラス
• その他
Viewグループ
• UILabelクラス
• UIViewクラス
• UIImageViewクラス
• UITextViewクラス
• その他
Controlグループ
• UIButtonクラス
• UISegmentedControlクラス
• UITextFieldクラス
• その他
その他グループ
• UITableViewCellクラス
• UIGestureRecognizerクラス
• その他
UIKit重点項目
• UIViewControllerクラス
ライフサイクル
Navigation Controllerによる管理

遷移してきた画面(ViewController)を配列で記憶

pushで追加、popで取り出し(戻る)
• UITableViewControllerクラス
構成要素
代表的なメソッド
セルの生成方法
UIViewController
• 各メソッドの呼び出されるタイミング

http://d.hatena.ne.jp/glass-_-onion/20120405/
1333611664

など、良記事がたくさん
viewDidLoad
viewWillAppear:
viewWillDisappear:
prepareForSegue::
didReceiveMemoryWarning
UITableViewController
• 各メソッドの機能

http://blogios.stack3.net/archives/604

(UITableViewの解説)など、良記事あり
セクション数を返すメソッド
各セクションのセル数を返すメソッド
各セル表示の際に呼び出されるメソッド
各セルの高さを決定するメソッド
各セルのクリック時に呼び出されるメソッド

など
UIKitをSwiftで利用
• フレームワークのインポート
• クラスメソッドの利用
• クロージャの利用
フレームワークのインポート
• Single View ApplicationではUIKitをインポート







• さまざまなフレームワーク(Apple)

https://developer.apple.com/jp/
documentation/iOSTechOverview.pdf
クラスメソッド
• クラスメソッド・・・各インスタンスに共通の

クラスそのものの性質に関する処理
• class func メソッド名 ・・・
• フレームワーク利用の際に呼び出すことが多い
クラスメソッドの呼び出し
• インスタンスを生成せずに呼び出せる

(クラス名.メソッド名)











クロージャの利用
• クロージャ・・・関数を変数として扱う時の

関数定義部分
• Appleのクロージャ定義







Apple Inc. The Swift Programming
Language より抜粋
クロージャの利用
クロージャの利用
• フレームワーク使用の際のクロージャ利用では

簡単に考える



「メソッドの引数に直接処理を書く」

 { 引数名 in 処理 }
5. アプリ作成
• 簡単なシューティングゲームアプリを作成

https://github.com/nakasen/Codeal-Seminar-Swift
• 画面上をランダムに動くUFOをタッチする
• 1秒ごとにUFOが画面内を移動
• UFOをタッチするとUFOが爆発
• 宇宙空間、UFO、UFO爆発の画像は用意済み
• 爆発音も用意済み
アプリ作成手順1
• Single View Applicationで新規作成
• プロジェクトに画像とサウンドのファイルを追加
✦ Project Navigatorでフォルダを右クリック
✦ Add Files to ∼ で画像フォルダ、サウンド
フォルダを追加
アプリ作成手順2
• Storyboardで画面作成
✦ ViewControllerのFile inspectorで

Auto Layoutのチェックをはずし、iPhoneを選択する
✦ ViewControllerのAttributes inspectorで

Simulated MetricsのSizeを

iPhone 4.7-inchにする(iPhone6の画面サイズ)
✦ 画面全体にImageViewを配置
✦ ImageViewのAttributes inspectorで

imageを背景用宇宙空間画像に
アプリ作成手順2の図説
アプリ作成手順2の図説
アプリ作成手順3
✦ 画面上部にButtonを配置
✦ ButtonのAttributes inspector画面で

TypeをCustomに
✦ 同じくTitleの文字列「Button」を消去 
✦ State Config「Default」時のImageを

通常時のUFO画像、「Highlighted」時の
Imageをタッチした時のUFO爆発画像に
アプリ作成手順4
• Storyboardでソースコードとのひも付け
✦ Assistant EditorでButton画像に名前を設定

(UFOのIBOutlet名「target」)
✦ Assistant EditorでButtonにActionを設定

(UFOタッチ時のIBAction名「smash」)
アプリ作成手順4の図説
アプリ作成手順5
• ViewControllerクラスのプロパティを設定

(class ViewController行の直後に)





• UFOを画面内で動かすために画面サイズを取得

(viewDidLoad()メソッドの中で)



アプリ作成手順6
• タイマーから呼び出される空のメソッドを定義



• タイマー処理を設定

(viewDidLoad()メソッドの中で)









アプリ作成手順7
• タイマーから呼び出されるmove()メソッドで、

UFOをランダムに動かす処理を定義



• 移動を滑らかにするために、上記3行目を

UIViewクラスのクラスメソッドの第2引数の

クロージャに入れる





アプリ作成手順8
• 爆発音のサウンドファイル名をプロパティ名と

ひも付けする(viewDidLoad()メソッドの中で)



• UFOをタッチした時に呼び出されるIBActionで

爆発音を再生する



アプリのカスタマイズ
• 難易度を調整する
✦ 動きのスピード(タイマー呼び出しの調整)
✦ 動きの範囲(乱数発生の引数の調整)
• スコアを表示(Labelを用いて)
• ミスショットで減点(画面全体の透明ボタン)
付録:GitHub
• バージョン管理
• Gitコマンド基礎
• GitHubにアカウント作成
• GitHubでのバージョン管理
• GitHubでの分散バージョン管理
バージョン管理
• ソースプログラムのライフサイクル
• 終わりなき更新
• 過去に戻れるか
• 本体 + 差分 + 管理情報
Gitコマンド基礎
• まずはローカルから
じっくり取り組むならここ(宣伝)

http://engineer-intern.jp/archives/11957
• 3つの段階を理解
ワーキングツリー
インデックス
リポジトリ
ローカルでGitコマンド
• git config で初期設定
• git init でリポジトリ作成
取り消しは rm -r .git
• git status で状態確認
• ファイル作成(修正)でワーキングツリーへ(赤文字)
取り消しは

rm ファイル名(作成時)または

git chekout --ファイル名(修正時)
ローカルでGitコマンド
• git add でワーキングツリーからインデックスへ

(緑文字)
取り消しは

git rm -- cached ファイル名(作成時)または

git reset HEAD ファイル名(修正時)
• git commit でインデックスからリポジトリへ
取り消しは

git reset -- soft HEAD^(修正時のみ)
状態を見るGitコマンド
• git log でオブジェクトIDと日付を確認
• git diff で差分を確認
• gitk で経過を確認
GitHubにアカウント作成
• ソーシャルコーディング
• 無料のアカウントはソースが常にさらされる

(かえって勉強になる)
• 他の人のソースもじっくり見る
• git clone でリポジトリごとコピー
GitHubでのバージョン管理
• リモートリポジトリ作成(New repositoryボタン)
じっくり取り組むならここ(宣伝)

http://engineer-intern.jp/archives/12305
• 公開されることを覚悟して名前をつける
• 後々のことも考えて設定する
• git remote でリモートリポジトリの設定
• git push でリモートリポジトリにプッシュ
GitHubで分散バージョン管理
• もう一人になり切って分散開発の疑似体験
• 2人目が git clone でリポジトリコピー
• git add、git commit 後 git push
• 1人目が git pull で2人目の修正取り込み
• わざとコンフリクト発生
• git pull、修正、git push でコンフリクト解消
手っ取り早くGitHubにアップ(1)
• フォルダを作成し、そこでgit init
• プロジェクトごとそのフォルダにコピー
• git add .
• git commit -m First commit
• GitHubにアカウント作成
• git config --global user.name "あなたのユーザ名"
• git config --global user.email あなたのメールアドレス"
手っ取り早くGitHubにアップ(2)
• GitHubにログイン後、緑の「+ New repository」

ボタンを押す
• Repository name(リポジトリ名)をつけて緑の

「Create Repository」ボタンを押す

(Initialize this repository with a READMEの

 チェックは外すこと!)

(リポジトリ名はソースの中身をきちんと表すこと)
• git remote add origin https://github.com/あなたのID/あな
たのリポジトリ名.git(ここからは画面の指示に従えば良い)
• git push -u origin master

Contenu connexe

Tendances

C++ Unit Test with Google Testing Framework
C++ Unit Test with Google Testing FrameworkC++ Unit Test with Google Testing Framework
C++ Unit Test with Google Testing FrameworkHumberto Marchezi
 
TestNG - The Next Generation of Unit Testing
TestNG - The Next Generation of Unit TestingTestNG - The Next Generation of Unit Testing
TestNG - The Next Generation of Unit TestingBethmi Gunasekara
 
Introduction To Ruby Watir (Web Application Testing In Ruby)
Introduction To Ruby Watir (Web Application Testing In Ruby)Introduction To Ruby Watir (Web Application Testing In Ruby)
Introduction To Ruby Watir (Web Application Testing In Ruby)Mindfire Solutions
 
JUnit & Mockito, first steps
JUnit & Mockito, first stepsJUnit & Mockito, first steps
JUnit & Mockito, first stepsRenato Primavera
 
Introduction of TestNG framework and its benefits over Junit framework
Introduction of TestNG framework and its benefits over Junit frameworkIntroduction of TestNG framework and its benefits over Junit framework
Introduction of TestNG framework and its benefits over Junit frameworkBugRaptors
 
구글테스트
구글테스트구글테스트
구글테스트진화 손
 
Java Basics for selenium
Java Basics for seleniumJava Basics for selenium
Java Basics for seleniumapoorvams
 
TestNG Session presented in Xebia XKE
TestNG Session presented in Xebia XKETestNG Session presented in Xebia XKE
TestNG Session presented in Xebia XKEAbhishek Yadav
 
[Paper Reading] Attention is All You Need
[Paper Reading] Attention is All You Need[Paper Reading] Attention is All You Need
[Paper Reading] Attention is All You NeedDaiki Tanaka
 

Tendances (20)

C++ Unit Test with Google Testing Framework
C++ Unit Test with Google Testing FrameworkC++ Unit Test with Google Testing Framework
C++ Unit Test with Google Testing Framework
 
N Unit Presentation
N Unit PresentationN Unit Presentation
N Unit Presentation
 
Nunit
NunitNunit
Nunit
 
Selenium-Locators
Selenium-LocatorsSelenium-Locators
Selenium-Locators
 
TestNG - The Next Generation of Unit Testing
TestNG - The Next Generation of Unit TestingTestNG - The Next Generation of Unit Testing
TestNG - The Next Generation of Unit Testing
 
Nx tutorial basics
Nx tutorial basicsNx tutorial basics
Nx tutorial basics
 
Phpunit testing
Phpunit testingPhpunit testing
Phpunit testing
 
Introduction To Ruby Watir (Web Application Testing In Ruby)
Introduction To Ruby Watir (Web Application Testing In Ruby)Introduction To Ruby Watir (Web Application Testing In Ruby)
Introduction To Ruby Watir (Web Application Testing In Ruby)
 
Attention Is All You Need
Attention Is All You NeedAttention Is All You Need
Attention Is All You Need
 
TestNG with selenium
TestNG with seleniumTestNG with selenium
TestNG with selenium
 
JUnit & Mockito, first steps
JUnit & Mockito, first stepsJUnit & Mockito, first steps
JUnit & Mockito, first steps
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Junit
JunitJunit
Junit
 
Arduino序列通訊
Arduino序列通訊Arduino序列通訊
Arduino序列通訊
 
Introduction of TestNG framework and its benefits over Junit framework
Introduction of TestNG framework and its benefits over Junit frameworkIntroduction of TestNG framework and its benefits over Junit framework
Introduction of TestNG framework and its benefits over Junit framework
 
구글테스트
구글테스트구글테스트
구글테스트
 
Java Basics for selenium
Java Basics for seleniumJava Basics for selenium
Java Basics for selenium
 
TestNG Session presented in Xebia XKE
TestNG Session presented in Xebia XKETestNG Session presented in Xebia XKE
TestNG Session presented in Xebia XKE
 
TestNG
TestNGTestNG
TestNG
 
[Paper Reading] Attention is All You Need
[Paper Reading] Attention is All You Need[Paper Reading] Attention is All You Need
[Paper Reading] Attention is All You Need
 

En vedette

OSC2011Tokyo/Fall OpenStack Swift入門
OSC2011Tokyo/Fall OpenStack Swift入門OSC2011Tokyo/Fall OpenStack Swift入門
OSC2011Tokyo/Fall OpenStack Swift入門irix_jp
 
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.124時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1聡 中川
 
Briancheong resume
Briancheong resumeBriancheong resume
Briancheong resumeshakeela1992
 
AW 学び続ける力 スライド
AW 学び続ける力 スライドAW 学び続ける力 スライド
AW 学び続ける力 スライド聡 中川
 
Recruitment slides
Recruitment slidesRecruitment slides
Recruitment slidesshakeela1992
 
Desfile enscoop 2011
Desfile enscoop 2011Desfile enscoop 2011
Desfile enscoop 2011AgostinaBerni
 
Logik 1
Logik 1Logik 1
Logik 1bsnnsb
 
Women Smokers is More Risk from Colon Cancer - Springhill Medical
Women Smokers is More Risk from Colon Cancer - Springhill MedicalWomen Smokers is More Risk from Colon Cancer - Springhill Medical
Women Smokers is More Risk from Colon Cancer - Springhill Medicalaleidadominik
 
งานคู่ 9 16
งานคู่ 9 16งานคู่ 9 16
งานคู่ 9 16'Fixation Tar
 

En vedette (20)

Study Swift
Study Swift Study Swift
Study Swift
 
Swift入門おさらい
Swift入門おさらいSwift入門おさらい
Swift入門おさらい
 
OSC2011Tokyo/Fall OpenStack Swift入門
OSC2011Tokyo/Fall OpenStack Swift入門OSC2011Tokyo/Fall OpenStack Swift入門
OSC2011Tokyo/Fall OpenStack Swift入門
 
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.124時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1
 
Briancheong resume
Briancheong resumeBriancheong resume
Briancheong resume
 
AW 学び続ける力 スライド
AW 学び続ける力 スライドAW 学び続ける力 スライド
AW 学び続ける力 スライド
 
Recruitment slides
Recruitment slidesRecruitment slides
Recruitment slides
 
Math54 o n
Math54 o nMath54 o n
Math54 o n
 
ปี2553
ปี2553ปี2553
ปี2553
 
Engels cricket
Engels cricketEngels cricket
Engels cricket
 
Gat2
Gat2Gat2
Gat2
 
ปี2554
ปี2554ปี2554
ปี2554
 
0 kscl de_chung
0 kscl de_chung0 kscl de_chung
0 kscl de_chung
 
Desfile enscoop 2011
Desfile enscoop 2011Desfile enscoop 2011
Desfile enscoop 2011
 
เฉลย2554
เฉลย2554เฉลย2554
เฉลย2554
 
Logik 1
Logik 1Logik 1
Logik 1
 
Women Smokers is More Risk from Colon Cancer - Springhill Medical
Women Smokers is More Risk from Colon Cancer - Springhill MedicalWomen Smokers is More Risk from Colon Cancer - Springhill Medical
Women Smokers is More Risk from Colon Cancer - Springhill Medical
 
Brillen en lenzen
Brillen en lenzenBrillen en lenzen
Brillen en lenzen
 
งานคู่ 9 16
งานคู่ 9 16งานคู่ 9 16
งานคู่ 9 16
 
Android part1
Android part1Android part1
Android part1
 

Similaire à Swift入門

Swiftアプリ制作入門 かんたんシューティングゲーム
Swiftアプリ制作入門 かんたんシューティングゲームSwiftアプリ制作入門 かんたんシューティングゲーム
Swiftアプリ制作入門 かんたんシューティングゲーム聡 中川
 
iOS13 SDK による 全機能置き換え Part1
iOS13 SDK による 全機能置き換え Part1iOS13 SDK による 全機能置き換え Part1
iOS13 SDK による 全機能置き換え Part1Kaname Noto
 
フロントエンド開発環境
フロントエンド開発環境フロントエンド開発環境
フロントエンド開発環境Masaki Kawaguchi
 
サーバーからiOSアプリを変更する
サーバーからiOSアプリを変更するサーバーからiOSアプリを変更する
サーバーからiOSアプリを変更するtoyship
 
BaseViewControllerは作りたくない
BaseViewControllerは作りたくないBaseViewControllerは作りたくない
BaseViewControllerは作りたくない今城 善矩
 
iQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナーiQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナーImamura Masayuki
 
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介david9142
 
第1回 コデアルiOSアプリ勉強会
第1回 コデアルiOSアプリ勉強会第1回 コデアルiOSアプリ勉強会
第1回 コデアルiOSアプリ勉強会codeal
 
Xcode 6の新機能
Xcode 6の新機能Xcode 6の新機能
Xcode 6の新機能Shingo Sato
 
iOSハンズオントレーニング Uikit編
iOSハンズオントレーニング Uikit編iOSハンズオントレーニング Uikit編
iOSハンズオントレーニング Uikit編聡 大久保
 
Xcode 7 の新しいところ #cm_ios9
Xcode 7 の新しいところ #cm_ios9Xcode 7 の新しいところ #cm_ios9
Xcode 7 の新しいところ #cm_ios9Tomohiro Kumagai
 
flasherがはじめてiOS開発をしてみて
flasherがはじめてiOS開発をしてみてflasherがはじめてiOS開発をしてみて
flasherがはじめてiOS開発をしてみて佐藤 俊太郎
 
はじめてのiOSアプリ開発 ①
はじめてのiOSアプリ開発 ①はじめてのiOSアプリ開発 ①
はじめてのiOSアプリ開発 ①Nagamine Hiromasa
 
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介Fumiya Sakai
 
WKWebViewとUIWebView
WKWebViewとUIWebViewWKWebViewとUIWebView
WKWebViewとUIWebViewYuki Hirai
 
iOS 7 対応事例 FastCheckin
iOS 7 対応事例 FastCheckiniOS 7 対応事例 FastCheckin
iOS 7 対応事例 FastCheckinKosuke Ogawa
 

Similaire à Swift入門 (20)

Swiftアプリ制作入門 かんたんシューティングゲーム
Swiftアプリ制作入門 かんたんシューティングゲームSwiftアプリ制作入門 かんたんシューティングゲーム
Swiftアプリ制作入門 かんたんシューティングゲーム
 
iOS13 SDK による 全機能置き換え Part1
iOS13 SDK による 全機能置き換え Part1iOS13 SDK による 全機能置き換え Part1
iOS13 SDK による 全機能置き換え Part1
 
Swift勉強会
Swift勉強会Swift勉強会
Swift勉強会
 
フロントエンド開発環境
フロントエンド開発環境フロントエンド開発環境
フロントエンド開発環境
 
サーバーからiOSアプリを変更する
サーバーからiOSアプリを変更するサーバーからiOSアプリを変更する
サーバーからiOSアプリを変更する
 
BaseViewControllerは作りたくない
BaseViewControllerは作りたくないBaseViewControllerは作りたくない
BaseViewControllerは作りたくない
 
iOSでMVVM入門
iOSでMVVM入門iOSでMVVM入門
iOSでMVVM入門
 
iQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナーiQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナー
 
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
 
第1回 コデアルiOSアプリ勉強会
第1回 コデアルiOSアプリ勉強会第1回 コデアルiOSアプリ勉強会
第1回 コデアルiOSアプリ勉強会
 
Xcode 6の新機能
Xcode 6の新機能Xcode 6の新機能
Xcode 6の新機能
 
iOSハンズオントレーニング Uikit編
iOSハンズオントレーニング Uikit編iOSハンズオントレーニング Uikit編
iOSハンズオントレーニング Uikit編
 
Xcode 7 の新しいところ #cm_ios9
Xcode 7 の新しいところ #cm_ios9Xcode 7 の新しいところ #cm_ios9
Xcode 7 の新しいところ #cm_ios9
 
MVCもやもや話
MVCもやもや話MVCもやもや話
MVCもやもや話
 
flasherがはじめてiOS開発をしてみて
flasherがはじめてiOS開発をしてみてflasherがはじめてiOS開発をしてみて
flasherがはじめてiOS開発をしてみて
 
Keep a diary
Keep a diaryKeep a diary
Keep a diary
 
はじめてのiOSアプリ開発 ①
はじめてのiOSアプリ開発 ①はじめてのiOSアプリ開発 ①
はじめてのiOSアプリ開発 ①
 
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
 
WKWebViewとUIWebView
WKWebViewとUIWebViewWKWebViewとUIWebView
WKWebViewとUIWebView
 
iOS 7 対応事例 FastCheckin
iOS 7 対応事例 FastCheckiniOS 7 対応事例 FastCheckin
iOS 7 対応事例 FastCheckin
 

Plus de 聡 中川

先端技術 プレテスト
先端技術 プレテスト先端技術 プレテスト
先端技術 プレテスト聡 中川
 
先端技術 No sql
先端技術 No sql先端技術 No sql
先端技術 No sql聡 中川
 
先端技術 Hft
先端技術 Hft先端技術 Hft
先端技術 Hft聡 中川
 
先端技術 データサイエンティスト
先端技術 データサイエンティスト先端技術 データサイエンティスト
先端技術 データサイエンティスト聡 中川
 
先端技術トピックス 言語ランキング
先端技術トピックス 言語ランキング先端技術トピックス 言語ランキング
先端技術トピックス 言語ランキング聡 中川
 
先端技術 競技プログラミング
先端技術 競技プログラミング先端技術 競技プログラミング
先端技術 競技プログラミング聡 中川
 
先端技術 スーパーコンピュータ
先端技術 スーパーコンピュータ先端技術 スーパーコンピュータ
先端技術 スーパーコンピュータ聡 中川
 
先端技術 セキュリティ最前線
先端技術 セキュリティ最前線先端技術 セキュリティ最前線
先端技術 セキュリティ最前線聡 中川
 
先端技術 関数型プログラミング
先端技術 関数型プログラミング先端技術 関数型プログラミング
先端技術 関数型プログラミング聡 中川
 
先端技術 気象とコンピュータ
先端技術 気象とコンピュータ先端技術 気象とコンピュータ
先端技術 気象とコンピュータ聡 中川
 
先端技術 量子コンピュータ
先端技術 量子コンピュータ先端技術 量子コンピュータ
先端技術 量子コンピュータ聡 中川
 
先端技術ガイダンス
先端技術ガイダンス先端技術ガイダンス
先端技術ガイダンス聡 中川
 
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ聡 中川
 
iOSアプリ制作のためのObjective-C入門
iOSアプリ制作のためのObjective-C入門iOSアプリ制作のためのObjective-C入門
iOSアプリ制作のためのObjective-C入門聡 中川
 

Plus de 聡 中川 (14)

先端技術 プレテスト
先端技術 プレテスト先端技術 プレテスト
先端技術 プレテスト
 
先端技術 No sql
先端技術 No sql先端技術 No sql
先端技術 No sql
 
先端技術 Hft
先端技術 Hft先端技術 Hft
先端技術 Hft
 
先端技術 データサイエンティスト
先端技術 データサイエンティスト先端技術 データサイエンティスト
先端技術 データサイエンティスト
 
先端技術トピックス 言語ランキング
先端技術トピックス 言語ランキング先端技術トピックス 言語ランキング
先端技術トピックス 言語ランキング
 
先端技術 競技プログラミング
先端技術 競技プログラミング先端技術 競技プログラミング
先端技術 競技プログラミング
 
先端技術 スーパーコンピュータ
先端技術 スーパーコンピュータ先端技術 スーパーコンピュータ
先端技術 スーパーコンピュータ
 
先端技術 セキュリティ最前線
先端技術 セキュリティ最前線先端技術 セキュリティ最前線
先端技術 セキュリティ最前線
 
先端技術 関数型プログラミング
先端技術 関数型プログラミング先端技術 関数型プログラミング
先端技術 関数型プログラミング
 
先端技術 気象とコンピュータ
先端技術 気象とコンピュータ先端技術 気象とコンピュータ
先端技術 気象とコンピュータ
 
先端技術 量子コンピュータ
先端技術 量子コンピュータ先端技術 量子コンピュータ
先端技術 量子コンピュータ
 
先端技術ガイダンス
先端技術ガイダンス先端技術ガイダンス
先端技術ガイダンス
 
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ
 
iOSアプリ制作のためのObjective-C入門
iOSアプリ制作のためのObjective-C入門iOSアプリ制作のためのObjective-C入門
iOSアプリ制作のためのObjective-C入門
 

Swift入門