SlideShare une entreprise Scribd logo
1  sur  40
Télécharger pour lire hors ligne
オプショナル型。
デジタルサーカス(株)⻑⾧長⾕谷川智希
なんとなく付ける ! ? 撲滅
⾃自⼰己紹介
⻑⾧長⾕谷川智希 / デジタルサーカス(株) 副団⻑⾧長CTO
と も き
@tomzoh

とむぞう
iOS Swift
Coming
Soon
開発系趣味
その他趣味
iOSアプリ開発, Web開発 趣味のプログラム
レンタルカートレース, 電⼦子⼯工作(mbed), …
デジタルサーカス(株)
・ Webサイト受託開発
・ スマホアプリ受託開発
・ ⾃自社サービス
(PHP, Drupal, CakePHP)
(iOS, Android)
(http://appbuilder.jp)
Twitter: @tomzoh
Twitter: @tomzoh Yo: TOMZOH Beer?!: TOMZOH
今⽇日のテーマ:
Swiftの
「Optional型。」
Swift の String型
Swift の String型には nil は⼊入らない。
メソッドの返値とかでnilを返したいことってちょくちょくある…。
Swift の String型には nil は⼊入らない。
「nilを⼊入れたい場合、?を付ける。」
メソッドの返値とかでnilを返したいことってちょくちょくある…。
Swift の String型には nil は⼊入らない。
「nilを⼊入れたい場合、?を付ける。」
メソッドの返値とかでnilを返したいことってちょくちょくある…。
nilを⼊入れたい場合、Optional<String>型を使う。
nilを⼊入れたい場合、Optional<String>型を使う。
String?は…
nilを⼊入れたい場合、Optional<String>型を使う。
String?は…
Optional<String>の省省略略形!
変数にnilが⼊入った!
じゃあ、その変数を使おう!
Optional<String>型はそのままではString型として使えない
元の型(String型)として使うために…
Optional<String>型はそのままではString型として使えない
元の型(String型)として使うために…
_⼈人⼈人⼈人⼈人⼈人⼈人⼈人⼈人⼈人⼈人⼈人_
> アンラップする!! <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
アンラップ
・ Optional型で「ラップした」変数を元の型として使える様にす
る処理理。
・ ⽅方法は4つある。
・ Forced Unwrapping
・ Optional Chaining
・ Optional Binding
・ Implicitly Unwrapped Optional
アンラップの⽅方法
・ Forced Unwrapping
・ Optional Chaining
・ Optional Binding
・ Implicitly Unwrapped Optional
Forced Unwrapping
・ 強制的にアンラップして元の型を取り出す。
・ 変数名の後ろに「 ! 」を付ける。
・ Forced Unwrappingしたものは元の型になっている。
・ nilに対してForced Unwrappingすると実⾏行行時エラーになる。
アンラップの⽅方法
・ Forced Unwrapping
強制的にアンラップして元の型を取り出す。
・ Optional Chaining
・ Optional Binding
・ Implicitly Unwrapped Optional
アンラップの⽅方法
・ Forced Unwrapping
強制的にアンラップして元の型を取り出す。
・ Optional Chaining
・ Optional Binding
・ Implicitly Unwrapped Optional
Optional Chaining
・ 元の型のメソッドや添字を使える様にする。
・ 変数名の後ろに「 ? 」を付ける。
・ 結果もOptional型で返される。(Chaining)
・ 変数がnilの場合そのアクセスは無視される。
Optional Chaining
・ Optional ChainingしたものはやっぱりOptional型。
・ 結果もOptional型で返される。(Chaining)
・ 変数がnilの場合そのアクセスは無視される。
アンラップの⽅方法
・ Forced Unwrapping
強制的にアンラップして元の型を取り出す。
・ Optional Chaining
元の型のメソッドや添字を使える様にする。
・ Optional Binding
・ Implicitly Unwrapped Optional
アンラップの⽅方法
・ Forced Unwrapping
強制的にアンラップして元の型を取り出す。
・ Optional Chaining
元の型のメソッドや添字を使える様にする。
・ Optional Binding
・ Implicitly Unwrapped Optional
Optional Binding
・ let でも var でもOK。
・ unwrapped は String 型。
・ str が nil の場合は if の条件式の評価が false になる。
・ 頻出構⽂文。
・ nilチェックをしてnilでなければ元の型を取り出す。
アンラップの⽅方法
・ Forced Unwrapping
強制的にアンラップして元の型を取り出す。
・ Optional Chaining
元の型のメソッドや添字を使える様にする。
・ Optional Binding
nilチェックをしてnilでなければ元の型を取り出す。
・ Implicitly Unwrapped Optional
アンラップの⽅方法
・ Forced Unwrapping
強制的にアンラップして元の型を取り出す。
・ Optional Chaining
元の型のメソッドや添字を使える様にする。
・ Optional Binding
nilチェックをしてnilでなければ元の型を取り出す。
・ Implicitly Unwrapped Optional
・ このアンラップはForced Unwrapping。
・ nilの時に使⽤用されると実⾏行行時エラーになる。(=⾃自動的にアンラップ)
・ 取扱注意。
Implicitly Unwrapped Optional
・ Implicitly Unwrapped Optional 型で宣⾔言する。
・ 使⽤用時に⾃自動的にアンラップされて元の型になる。
アンラップの⽅方法
・ Forced Unwrapping
・ 強制的にアンラップして元の型を取り出す。
・ Optional Chaining
・ 元の型のメソッドや添字を使える様にする。
・ Optional Binding
・ nilチェックをしてnilでなければ元の型を取り出す。
・ Implicitly Unwrapped Optional
使⽤用時に⾃自動的にアンラップされて元の型になる。
ところで…
Implicitly Unwrapped Optional
・ Implicitly Unwrapped Optional 型で宣⾔言する。
・ 使⽤用時に⾃自動的にアンラップされて元の型になる。
・ このアンラップはForced Unwrapping。
・ nilの時に使⽤用されると実⾏行行時エラーになる。(=⾃自動的にアンラップ)
・ 取扱注意。
Implicitly Unwrapped Optional
・ Implicitly Unwrapped Optional 型で宣⾔言する。
・ 使⽤用時に⾃自動的にアンラップされて元の型になる。
・ このアンラップはForced Unwrapping。
・ nilの時に使⽤用されると実⾏行行時エラーになる。(=⾃自動的にアンラップ)
・ 取扱注意。
Implicitly Unwrapped Optional
・ Implicitly Unwrapped Optional 型で宣⾔言する。
・ 使⽤用時に⾃自動的にアンラップされて元の型になる。
_⼈人⼈人⼈人⼈人⼈人⼈人⼈人⼈人⼈人⼈人⼈人_
>  ⻑⾧長い!!  <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
省省略略形
Optional型 - シンタックスシュガー
・ 省省略略形、シンタックスシュガー。
Optional型 - シンタックスシュガー
・ 省省略略形、シンタックスシュガー。
・ アンラップに使う「 ? 」や「 ! 」とは別物。混同すると⼤大混乱。
・ 世の中の混乱は⼤大抵この混同から発⽣生していると思う。
・ ⾃自分もそうだった。
・ 「 ? 」や「 ! 」を⾒見見たらどっちなのか考えて読もう。
まとめ
・ SwiftのString型(やInt型やBool型や…)はnilを値として取らない。
・ nilを扱いたい場合Optional型やImplicitly Unwrapped Optional型
を使う。
・ 省省略略形として元の型の名前の後ろに「 ? 」や「 ! 」を付けて表現できる。
・ Optional型を元の型として使うためには「アンラップ」する。
・ アンラップは末尾に「 ? 」「 ! 」を付けてその⽅方法を表現する。
・ Optional型の省省略略形としての「 ? 」「 ! 」とアンラップ⽅方法を表現する
「 ? 」「 ! 」は別物。
Optional Ready
Happy Swifting
?
!
ありがとうございました。
@tomzoh

Contenu connexe

Tendances

【JavaScript SDK ver.2】MonacaとmBaaSでプッシュ通知を体験しよう(for Android & iOS)
【JavaScript SDK ver.2】MonacaとmBaaSでプッシュ通知を体験しよう(for Android & iOS)【JavaScript SDK ver.2】MonacaとmBaaSでプッシュ通知を体験しよう(for Android & iOS)
【JavaScript SDK ver.2】MonacaとmBaaSでプッシュ通知を体験しよう(for Android & iOS)natsumo
 
iPhoneとAndroidのアプリ開発最新潮流
iPhoneとAndroidのアプリ開発最新潮流iPhoneとAndroidのアプリ開発最新潮流
iPhoneとAndroidのアプリ開発最新潮流Rakuten Group, Inc.
 
SwiftとReactNativeで似たようなUIを作った際の記録
SwiftとReactNativeで似たようなUIを作った際の記録SwiftとReactNativeで似たようなUIを作った際の記録
SwiftとReactNativeで似たようなUIを作った際の記録Fumiya Sakai
 
やはりお前らのiOS7対応は間違っている
やはりお前らのiOS7対応は間違っているやはりお前らのiOS7対応は間違っている
やはりお前らのiOS7対応は間違っている今城 善矩
 
Potatotips3 hoshi gaki_akira_iwaya
Potatotips3 hoshi gaki_akira_iwayaPotatotips3 hoshi gaki_akira_iwaya
Potatotips3 hoshi gaki_akira_iwayaAkira Iwaya
 
iOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいことiOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいことasakahara
 
Macアプリのインストーラ作成ツールSwift版
Macアプリのインストーラ作成ツールSwift版Macアプリのインストーラ作成ツールSwift版
Macアプリのインストーラ作成ツールSwift版Akira Hayashi
 
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!hmimura_embarcadero
 
HTML5/JavaScriptで作るAndroidアプリ開発seminar
HTML5/JavaScriptで作るAndroidアプリ開発seminarHTML5/JavaScriptで作るAndroidアプリ開発seminar
HTML5/JavaScriptで作るAndroidアプリ開発seminarkujirahand kujira
 
Xcode以外の開発環境 AppCodeの紹介
Xcode以外の開発環境 AppCodeの紹介Xcode以外の開発環境 AppCodeの紹介
Xcode以外の開発環境 AppCodeの紹介Akira Hayashi
 
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop20120413 nestakabaneworkshop
20120413 nestakabaneworkshopYoichiro Sakurai
 
SwiftによるiOS開発再入門
SwiftによるiOS開発再入門SwiftによるiOS開発再入門
SwiftによるiOS開発再入門Tomoki Hasegawa
 
Visual studio 2019 updates pickup!
Visual studio 2019 updates pickup!Visual studio 2019 updates pickup!
Visual studio 2019 updates pickup!一希 大田
 
スマートスピーカーのバックエンドで Azure を使う方法
スマートスピーカーのバックエンドでAzure を使う方法スマートスピーカーのバックエンドでAzure を使う方法
スマートスピーカーのバックエンドで Azure を使う方法一希 大田
 
ネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについて
ネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについてネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについて
ネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについてKazuaki Hidaka
 
Androidでへっぽこ思考戦車を作ってみた
Androidでへっぽこ思考戦車を作ってみたAndroidでへっぽこ思考戦車を作ってみた
Androidでへっぽこ思考戦車を作ってみたYusuke Ohmichi
 
マルチデバイスに対応するためのAuto layout
マルチデバイスに対応するためのAuto layoutマルチデバイスに対応するためのAuto layout
マルチデバイスに対応するためのAuto layoutasakahara
 

Tendances (18)

【JavaScript SDK ver.2】MonacaとmBaaSでプッシュ通知を体験しよう(for Android & iOS)
【JavaScript SDK ver.2】MonacaとmBaaSでプッシュ通知を体験しよう(for Android & iOS)【JavaScript SDK ver.2】MonacaとmBaaSでプッシュ通知を体験しよう(for Android & iOS)
【JavaScript SDK ver.2】MonacaとmBaaSでプッシュ通知を体験しよう(for Android & iOS)
 
iPhoneとAndroidのアプリ開発最新潮流
iPhoneとAndroidのアプリ開発最新潮流iPhoneとAndroidのアプリ開発最新潮流
iPhoneとAndroidのアプリ開発最新潮流
 
SwiftとReactNativeで似たようなUIを作った際の記録
SwiftとReactNativeで似たようなUIを作った際の記録SwiftとReactNativeで似たようなUIを作った際の記録
SwiftとReactNativeで似たようなUIを作った際の記録
 
やはりお前らのiOS7対応は間違っている
やはりお前らのiOS7対応は間違っているやはりお前らのiOS7対応は間違っている
やはりお前らのiOS7対応は間違っている
 
Potatotips3 hoshi gaki_akira_iwaya
Potatotips3 hoshi gaki_akira_iwayaPotatotips3 hoshi gaki_akira_iwaya
Potatotips3 hoshi gaki_akira_iwaya
 
iOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいことiOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいこと
 
Macアプリのインストーラ作成ツールSwift版
Macアプリのインストーラ作成ツールSwift版Macアプリのインストーラ作成ツールSwift版
Macアプリのインストーラ作成ツールSwift版
 
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
 
HTML5/JavaScriptで作るAndroidアプリ開発seminar
HTML5/JavaScriptで作るAndroidアプリ開発seminarHTML5/JavaScriptで作るAndroidアプリ開発seminar
HTML5/JavaScriptで作るAndroidアプリ開発seminar
 
Onsen UIが目指すもの
Onsen UIが目指すものOnsen UIが目指すもの
Onsen UIが目指すもの
 
Xcode以外の開発環境 AppCodeの紹介
Xcode以外の開発環境 AppCodeの紹介Xcode以外の開発環境 AppCodeの紹介
Xcode以外の開発環境 AppCodeの紹介
 
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop20120413 nestakabaneworkshop
20120413 nestakabaneworkshop
 
SwiftによるiOS開発再入門
SwiftによるiOS開発再入門SwiftによるiOS開発再入門
SwiftによるiOS開発再入門
 
Visual studio 2019 updates pickup!
Visual studio 2019 updates pickup!Visual studio 2019 updates pickup!
Visual studio 2019 updates pickup!
 
スマートスピーカーのバックエンドで Azure を使う方法
スマートスピーカーのバックエンドでAzure を使う方法スマートスピーカーのバックエンドでAzure を使う方法
スマートスピーカーのバックエンドで Azure を使う方法
 
ネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについて
ネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについてネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについて
ネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについて
 
Androidでへっぽこ思考戦車を作ってみた
Androidでへっぽこ思考戦車を作ってみたAndroidでへっぽこ思考戦車を作ってみた
Androidでへっぽこ思考戦車を作ってみた
 
マルチデバイスに対応するためのAuto layout
マルチデバイスに対応するためのAuto layoutマルチデバイスに対応するためのAuto layout
マルチデバイスに対応するためのAuto layout
 

En vedette

Xcodeとstoryboardのすごさを思い知る、ソースコードを書かないプログラミング
Xcodeとstoryboardのすごさを思い知る、ソースコードを書かないプログラミングXcodeとstoryboardのすごさを思い知る、ソースコードを書かないプログラミング
Xcodeとstoryboardのすごさを思い知る、ソースコードを書かないプログラミングKazuki Sato
 
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。Daisuke Yamashita
 
iOSアプリの画面デザイン・遷移を驚くほど簡単にするStoryboardの使い方
iOSアプリの画面デザイン・遷移を驚くほど簡単にするStoryboardの使い方iOSアプリの画面デザイン・遷移を驚くほど簡単にするStoryboardの使い方
iOSアプリの画面デザイン・遷移を驚くほど簡単にするStoryboardの使い方schoowebcampus
 
Xcode 再入門「Xcode の検索機能」 #さいたまdev
Xcode 再入門「Xcode の検索機能」 #さいたまdevXcode 再入門「Xcode の検索機能」 #さいたまdev
Xcode 再入門「Xcode の検索機能」 #さいたまdevTomohiro Kumagai
 
Swift 3.0 の新しい機能(のうちの9つ)
Swift 3.0 の新しい機能(のうちの9つ)Swift 3.0 の新しい機能(のうちの9つ)
Swift 3.0 の新しい機能(のうちの9つ)Tomohiro Kumagai
 
TestFlightみたいなのを自作する
TestFlightみたいなのを自作するTestFlightみたいなのを自作する
TestFlightみたいなのを自作するTomoki Hasegawa
 
Swift 3 で新しくなったところ - 表面から見えにくいところを中心に紹介 #ISAOcorp
Swift 3 で新しくなったところ - 表面から見えにくいところを中心に紹介 #ISAOcorpSwift 3 で新しくなったところ - 表面から見えにくいところを中心に紹介 #ISAOcorp
Swift 3 で新しくなったところ - 表面から見えにくいところを中心に紹介 #ISAOcorpTomohiro Kumagai
 
㉚Xcodeを覚えよう!簡単なアプリを作ってみよう!
㉚Xcodeを覚えよう!簡単なアプリを作ってみよう!㉚Xcodeを覚えよう!簡単なアプリを作ってみよう!
㉚Xcodeを覚えよう!簡単なアプリを作ってみよう!Nishida Kansuke
 
iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」
iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」
iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」Toshio Ehara
 
10分で分かるiOSアプリのつくりかた[ATGS主催イベント発表資料]
10分で分かるiOSアプリのつくりかた[ATGS主催イベント発表資料]10分で分かるiOSアプリのつくりかた[ATGS主催イベント発表資料]
10分で分かるiOSアプリのつくりかた[ATGS主催イベント発表資料]AT GS
 
Swift 3 を書くときに知っておきたい API デザインガイドライン #love_swift #akibaswift
Swift 3 を書くときに知っておきたい API デザインガイドライン #love_swift #akibaswiftSwift 3 を書くときに知っておきたい API デザインガイドライン #love_swift #akibaswift
Swift 3 を書くときに知っておきたい API デザインガイドライン #love_swift #akibaswiftTomohiro Kumagai
 
Git svnではじめる忍者のごとく潜むgit
Git svnではじめる忍者のごとく潜むgitGit svnではじめる忍者のごとく潜むgit
Git svnではじめる忍者のごとく潜むgitKazuki Sato
 
10分で分かるAndroidアプリの作り方[ATGS主催イベント発表資料]
10分で分かるAndroidアプリの作り方[ATGS主催イベント発表資料]10分で分かるAndroidアプリの作り方[ATGS主催イベント発表資料]
10分で分かるAndroidアプリの作り方[ATGS主催イベント発表資料]AT GS
 
10分でわかるUnityアプリ開発[ATGS主催イベント発表資料]
10分でわかるUnityアプリ開発[ATGS主催イベント発表資料]10分でわかるUnityアプリ開発[ATGS主催イベント発表資料]
10分でわかるUnityアプリ開発[ATGS主催イベント発表資料]AT GS
 
クラウド時代の経営スタイルを変革する TableauセルフサービスBIの本質的価値
クラウド時代の経営スタイルを変革する TableauセルフサービスBIの本質的価値クラウド時代の経営スタイルを変革する TableauセルフサービスBIの本質的価値
クラウド時代の経営スタイルを変革する TableauセルフサービスBIの本質的価値Ryusuke Ashiya
 
Swift Code in Swift - 2日間でゲームを作ってみた
Swift Code in Swift - 2日間でゲームを作ってみたSwift Code in Swift - 2日間でゲームを作ってみた
Swift Code in Swift - 2日間でゲームを作ってみたaxsh co., LTD.
 
Webマーケターを支援するtableau(タブロー)のケイパビリティ
Webマーケターを支援するtableau(タブロー)のケイパビリティWebマーケターを支援するtableau(タブロー)のケイパビリティ
Webマーケターを支援するtableau(タブロー)のケイパビリティKazuhiro Kida
 
Objective-C/Swift コードの共用
Objective-C/Swift コードの共用Objective-C/Swift コードの共用
Objective-C/Swift コードの共用Yoichiro Sakurai
 

En vedette (20)

Xcodeとstoryboardのすごさを思い知る、ソースコードを書かないプログラミング
Xcodeとstoryboardのすごさを思い知る、ソースコードを書かないプログラミングXcodeとstoryboardのすごさを思い知る、ソースコードを書かないプログラミング
Xcodeとstoryboardのすごさを思い知る、ソースコードを書かないプログラミング
 
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
 
iOSアプリの画面デザイン・遷移を驚くほど簡単にするStoryboardの使い方
iOSアプリの画面デザイン・遷移を驚くほど簡単にするStoryboardの使い方iOSアプリの画面デザイン・遷移を驚くほど簡単にするStoryboardの使い方
iOSアプリの画面デザイン・遷移を驚くほど簡単にするStoryboardの使い方
 
Xcode 再入門「Xcode の検索機能」 #さいたまdev
Xcode 再入門「Xcode の検索機能」 #さいたまdevXcode 再入門「Xcode の検索機能」 #さいたまdev
Xcode 再入門「Xcode の検索機能」 #さいたまdev
 
Swift 3.0 の新しい機能(のうちの9つ)
Swift 3.0 の新しい機能(のうちの9つ)Swift 3.0 の新しい機能(のうちの9つ)
Swift 3.0 の新しい機能(のうちの9つ)
 
TestFlightみたいなのを自作する
TestFlightみたいなのを自作するTestFlightみたいなのを自作する
TestFlightみたいなのを自作する
 
Swift 3 で新しくなったところ - 表面から見えにくいところを中心に紹介 #ISAOcorp
Swift 3 で新しくなったところ - 表面から見えにくいところを中心に紹介 #ISAOcorpSwift 3 で新しくなったところ - 表面から見えにくいところを中心に紹介 #ISAOcorp
Swift 3 で新しくなったところ - 表面から見えにくいところを中心に紹介 #ISAOcorp
 
㉚Xcodeを覚えよう!簡単なアプリを作ってみよう!
㉚Xcodeを覚えよう!簡単なアプリを作ってみよう!㉚Xcodeを覚えよう!簡単なアプリを作ってみよう!
㉚Xcodeを覚えよう!簡単なアプリを作ってみよう!
 
iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」
iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」
iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」
 
10分で分かるiOSアプリのつくりかた[ATGS主催イベント発表資料]
10分で分かるiOSアプリのつくりかた[ATGS主催イベント発表資料]10分で分かるiOSアプリのつくりかた[ATGS主催イベント発表資料]
10分で分かるiOSアプリのつくりかた[ATGS主催イベント発表資料]
 
Swift 3 を書くときに知っておきたい API デザインガイドライン #love_swift #akibaswift
Swift 3 を書くときに知っておきたい API デザインガイドライン #love_swift #akibaswiftSwift 3 を書くときに知っておきたい API デザインガイドライン #love_swift #akibaswift
Swift 3 を書くときに知っておきたい API デザインガイドライン #love_swift #akibaswift
 
Git svnではじめる忍者のごとく潜むgit
Git svnではじめる忍者のごとく潜むgitGit svnではじめる忍者のごとく潜むgit
Git svnではじめる忍者のごとく潜むgit
 
10分で分かるAndroidアプリの作り方[ATGS主催イベント発表資料]
10分で分かるAndroidアプリの作り方[ATGS主催イベント発表資料]10分で分かるAndroidアプリの作り方[ATGS主催イベント発表資料]
10分で分かるAndroidアプリの作り方[ATGS主催イベント発表資料]
 
10分でわかるUnityアプリ開発[ATGS主催イベント発表資料]
10分でわかるUnityアプリ開発[ATGS主催イベント発表資料]10分でわかるUnityアプリ開発[ATGS主催イベント発表資料]
10分でわかるUnityアプリ開発[ATGS主催イベント発表資料]
 
クラウド時代の経営スタイルを変革する TableauセルフサービスBIの本質的価値
クラウド時代の経営スタイルを変革する TableauセルフサービスBIの本質的価値クラウド時代の経営スタイルを変革する TableauセルフサービスBIの本質的価値
クラウド時代の経営スタイルを変革する TableauセルフサービスBIの本質的価値
 
Swift Code in Swift - 2日間でゲームを作ってみた
Swift Code in Swift - 2日間でゲームを作ってみたSwift Code in Swift - 2日間でゲームを作ってみた
Swift Code in Swift - 2日間でゲームを作ってみた
 
Webマーケターを支援するtableau(タブロー)のケイパビリティ
Webマーケターを支援するtableau(タブロー)のケイパビリティWebマーケターを支援するtableau(タブロー)のケイパビリティ
Webマーケターを支援するtableau(タブロー)のケイパビリティ
 
de:code エスキュービズム勉強会0620
de:code エスキュービズム勉強会0620de:code エスキュービズム勉強会0620
de:code エスキュービズム勉強会0620
 
Objective-C/Swift コードの共用
Objective-C/Swift コードの共用Objective-C/Swift コードの共用
Objective-C/Swift コードの共用
 
理想のWEB開発
理想のWEB開発理想のWEB開発
理想のWEB開発
 

Similaire à オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版

はじめてのiOSアプリ開発 Swift対応版
はじめてのiOSアプリ開発 Swift対応版はじめてのiOSアプリ開発 Swift対応版
はじめてのiOSアプリ開発 Swift対応版Tomoki Hasegawa
 
スクレイピングその後
スクレイピングその後スクレイピングその後
スクレイピングその後Tomoki Hasegawa
 
Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法Tomoki Hasegawa
 
Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応Tomoki Hasegawa
 
Oss written in swift
Oss written in swiftOss written in swift
Oss written in swiftYuki Asai
 
iOSアプリ制作ツールアプリビルダーを支える技術
iOSアプリ制作ツールアプリビルダーを支える技術iOSアプリ制作ツールアプリビルダーを支える技術
iOSアプリ制作ツールアプリビルダーを支える技術Tomoki Hasegawa
 
勉強会のこちら側とあちら側
勉強会のこちら側とあちら側勉強会のこちら側とあちら側
勉強会のこちら側とあちら側Tomoki Hasegawa
 
エンジニアのお祭り
エンジニアのお祭りエンジニアのお祭り
エンジニアのお祭りTomoki Hasegawa
 
Swiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-EdoSwiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-EdoMegumi Otani(Czenhe)
 
AppStore申請を一式まるっと自動化する
AppStore申請を一式まるっと自動化するAppStore申請を一式まるっと自動化する
AppStore申請を一式まるっと自動化するTomoki Hasegawa
 
Yahoo!アフィリエイトソン最優秀賞者に学ぶ Swift講座
Yahoo!アフィリエイトソン最優秀賞者に学ぶ Swift講座Yahoo!アフィリエイトソン最優秀賞者に学ぶ Swift講座
Yahoo!アフィリエイトソン最優秀賞者に学ぶ Swift講座Masaru Gushiken
 
東京Node学園 今できる通信高速化にトライしてみた
東京Node学園 今できる通信高速化にトライしてみた東京Node学園 今できる通信高速化にトライしてみた
東京Node学園 今できる通信高速化にトライしてみたYoshiki Shibukawa
 
SwiftでAndroidアプリ書けるってよ
SwiftでAndroidアプリ書けるってよSwiftでAndroidアプリ書けるってよ
SwiftでAndroidアプリ書けるってよSyo Ikeda
 
iOSアプリ開発のためのSwiftビギナーズ勉強会 第6回 @Co-Edo
iOSアプリ開発のためのSwiftビギナーズ勉強会 第6回    @Co-EdoiOSアプリ開発のためのSwiftビギナーズ勉強会 第6回    @Co-Edo
iOSアプリ開発のためのSwiftビギナーズ勉強会 第6回 @Co-EdoMegumi Otani(Czenhe)
 
Introduction of Swift from Machine Learning
Introduction of Swift from Machine LearningIntroduction of Swift from Machine Learning
Introduction of Swift from Machine LearningDaisuke Yamashita
 
20120316 designerworkshoppublished
20120316 designerworkshoppublished20120316 designerworkshoppublished
20120316 designerworkshoppublishedYoichiro Sakurai
 

Similaire à オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版 (20)

はじめてのiOSアプリ開発 Swift対応版
はじめてのiOSアプリ開発 Swift対応版はじめてのiOSアプリ開発 Swift対応版
はじめてのiOSアプリ開発 Swift対応版
 
Stargazer Meetup #1
Stargazer Meetup #1Stargazer Meetup #1
Stargazer Meetup #1
 
スクレイピングその後
スクレイピングその後スクレイピングその後
スクレイピングその後
 
Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法
 
IoT ChatOps #IoTLT
IoT ChatOps #IoTLTIoT ChatOps #IoTLT
IoT ChatOps #IoTLT
 
Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応
 
Oss written in swift
Oss written in swiftOss written in swift
Oss written in swift
 
iOSアプリ制作ツールアプリビルダーを支える技術
iOSアプリ制作ツールアプリビルダーを支える技術iOSアプリ制作ツールアプリビルダーを支える技術
iOSアプリ制作ツールアプリビルダーを支える技術
 
勉強会のこちら側とあちら側
勉強会のこちら側とあちら側勉強会のこちら側とあちら側
勉強会のこちら側とあちら側
 
エンジニアのお祭り
エンジニアのお祭りエンジニアのお祭り
エンジニアのお祭り
 
3 auto layout tips
3 auto layout tips3 auto layout tips
3 auto layout tips
 
Swiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-EdoSwiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-Edo
 
AppStore申請を一式まるっと自動化する
AppStore申請を一式まるっと自動化するAppStore申請を一式まるっと自動化する
AppStore申請を一式まるっと自動化する
 
Yahoo!アフィリエイトソン最優秀賞者に学ぶ Swift講座
Yahoo!アフィリエイトソン最優秀賞者に学ぶ Swift講座Yahoo!アフィリエイトソン最優秀賞者に学ぶ Swift講座
Yahoo!アフィリエイトソン最優秀賞者に学ぶ Swift講座
 
東京Node学園 今できる通信高速化にトライしてみた
東京Node学園 今できる通信高速化にトライしてみた東京Node学園 今できる通信高速化にトライしてみた
東京Node学園 今できる通信高速化にトライしてみた
 
Electron を知る
Electron を知るElectron を知る
Electron を知る
 
SwiftでAndroidアプリ書けるってよ
SwiftでAndroidアプリ書けるってよSwiftでAndroidアプリ書けるってよ
SwiftでAndroidアプリ書けるってよ
 
iOSアプリ開発のためのSwiftビギナーズ勉強会 第6回 @Co-Edo
iOSアプリ開発のためのSwiftビギナーズ勉強会 第6回    @Co-EdoiOSアプリ開発のためのSwiftビギナーズ勉強会 第6回    @Co-Edo
iOSアプリ開発のためのSwiftビギナーズ勉強会 第6回 @Co-Edo
 
Introduction of Swift from Machine Learning
Introduction of Swift from Machine LearningIntroduction of Swift from Machine Learning
Introduction of Swift from Machine Learning
 
20120316 designerworkshoppublished
20120316 designerworkshoppublished20120316 designerworkshoppublished
20120316 designerworkshoppublished
 

Plus de Tomoki Hasegawa

Reading php terminal-gameboy-emulator
Reading php terminal-gameboy-emulatorReading php terminal-gameboy-emulator
Reading php terminal-gameboy-emulatorTomoki Hasegawa
 
Drupal8 〜 モダンなアーキテクチャのPHPベース OSS CMS
Drupal8 〜 モダンなアーキテクチャのPHPベース OSS CMSDrupal8 〜 モダンなアーキテクチャのPHPベース OSS CMS
Drupal8 〜 モダンなアーキテクチャのPHPベース OSS CMSTomoki Hasegawa
 
とある受託ベンダの開発環境
とある受託ベンダの開発環境とある受託ベンダの開発環境
とある受託ベンダの開発環境Tomoki Hasegawa
 
iOS Developers Conference Japan 2016
iOS Developers Conference Japan 2016iOS Developers Conference Japan 2016
iOS Developers Conference Japan 2016Tomoki Hasegawa
 
tvOSでWebSocketを使う
tvOSでWebSocketを使うtvOSでWebSocketを使う
tvOSでWebSocketを使うTomoki Hasegawa
 
「これを買っている人はこれも買っています」実装してみた PHP side
「これを買っている人はこれも買っています」実装してみた PHP side「これを買っている人はこれも買っています」実装してみた PHP side
「これを買っている人はこれも買っています」実装してみた PHP sideTomoki Hasegawa
 
tvOSネイティブアプリを作る
tvOSネイティブアプリを作るtvOSネイティブアプリを作る
tvOSネイティブアプリを作るTomoki Hasegawa
 
「これを買っている人はこれも買っています」実装してみた
「これを買っている人はこれも買っています」実装してみた「これを買っている人はこれも買っています」実装してみた
「これを買っている人はこれも買っています」実装してみたTomoki Hasegawa
 
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMSDrupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMSTomoki Hasegawa
 
PHPでスマホアプリにプッシュ通知する
PHPでスマホアプリにプッシュ通知するPHPでスマホアプリにプッシュ通知する
PHPでスマホアプリにプッシュ通知するTomoki Hasegawa
 
PUSH通知証明書作成ツールを作った
PUSH通知証明書作成ツールを作ったPUSH通知証明書作成ツールを作った
PUSH通知証明書作成ツールを作ったTomoki Hasegawa
 
PHPカンファレンス福岡に 行ってきた
PHPカンファレンス福岡に 行ってきたPHPカンファレンス福岡に 行ってきた
PHPカンファレンス福岡に 行ってきたTomoki Hasegawa
 
CakePHP3ウォークスルー
CakePHP3ウォークスルーCakePHP3ウォークスルー
CakePHP3ウォークスルーTomoki Hasegawa
 
PHPerのためのSwift入門
PHPerのためのSwift入門PHPerのためのSwift入門
PHPerのためのSwift入門Tomoki Hasegawa
 
オプショナル型。 〜 なんとなく付ける ! ? 撲滅
オプショナル型。 〜 なんとなく付ける ! ? 撲滅オプショナル型。 〜 なんとなく付ける ! ? 撲滅
オプショナル型。 〜 なんとなく付ける ! ? 撲滅Tomoki Hasegawa
 
CustomOperatorで遊ぼう!
CustomOperatorで遊ぼう!CustomOperatorで遊ぼう!
CustomOperatorで遊ぼう!Tomoki Hasegawa
 

Plus de Tomoki Hasegawa (17)

Reading php terminal-gameboy-emulator
Reading php terminal-gameboy-emulatorReading php terminal-gameboy-emulator
Reading php terminal-gameboy-emulator
 
Drupal8 〜 モダンなアーキテクチャのPHPベース OSS CMS
Drupal8 〜 モダンなアーキテクチャのPHPベース OSS CMSDrupal8 〜 モダンなアーキテクチャのPHPベース OSS CMS
Drupal8 〜 モダンなアーキテクチャのPHPベース OSS CMS
 
とある受託ベンダの開発環境
とある受託ベンダの開発環境とある受託ベンダの開発環境
とある受託ベンダの開発環境
 
iOS Developers Conference Japan 2016
iOS Developers Conference Japan 2016iOS Developers Conference Japan 2016
iOS Developers Conference Japan 2016
 
tvOSでWebSocketを使う
tvOSでWebSocketを使うtvOSでWebSocketを使う
tvOSでWebSocketを使う
 
「これを買っている人はこれも買っています」実装してみた PHP side
「これを買っている人はこれも買っています」実装してみた PHP side「これを買っている人はこれも買っています」実装してみた PHP side
「これを買っている人はこれも買っています」実装してみた PHP side
 
tvOSネイティブアプリを作る
tvOSネイティブアプリを作るtvOSネイティブアプリを作る
tvOSネイティブアプリを作る
 
「これを買っている人はこれも買っています」実装してみた
「これを買っている人はこれも買っています」実装してみた「これを買っている人はこれも買っています」実装してみた
「これを買っている人はこれも買っています」実装してみた
 
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMSDrupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
 
PHPでスマホアプリにプッシュ通知する
PHPでスマホアプリにプッシュ通知するPHPでスマホアプリにプッシュ通知する
PHPでスマホアプリにプッシュ通知する
 
PUSH通知証明書作成ツールを作った
PUSH通知証明書作成ツールを作ったPUSH通知証明書作成ツールを作った
PUSH通知証明書作成ツールを作った
 
PHPカンファレンス福岡に 行ってきた
PHPカンファレンス福岡に 行ってきたPHPカンファレンス福岡に 行ってきた
PHPカンファレンス福岡に 行ってきた
 
CakePHP3ウォークスルー
CakePHP3ウォークスルーCakePHP3ウォークスルー
CakePHP3ウォークスルー
 
PHPerのためのSwift入門
PHPerのためのSwift入門PHPerのためのSwift入門
PHPerのためのSwift入門
 
Drupal on vagrant-aws
Drupal on vagrant-awsDrupal on vagrant-aws
Drupal on vagrant-aws
 
オプショナル型。 〜 なんとなく付ける ! ? 撲滅
オプショナル型。 〜 なんとなく付ける ! ? 撲滅オプショナル型。 〜 なんとなく付ける ! ? 撲滅
オプショナル型。 〜 なんとなく付ける ! ? 撲滅
 
CustomOperatorで遊ぼう!
CustomOperatorで遊ぼう!CustomOperatorで遊ぼう!
CustomOperatorで遊ぼう!
 

オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版