SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
はぢめての Swift 
- この3日で、Swift 情報をまとめてみた! 
抑えておきたい5つのポイント - 
2014.08.22 (Fri) / Swift 勉強会 vol.3 
株式会社キッズスター 
システムデベロプメントチーム リーダー 
森 哲哉
こんばんは!
………。
と、いうわけで 
Swift のおはなし
おしながき
おしながき 
• Point 1: 環境構築 
• Point 2: Objective-C との違い 
• Point 3: Collection 
• Point 4: Enumeration 
• Point 5: Objective-C との共存
自己紹介
$ whoami 
• “森 哲哉” と申します。 
• a.k.a: もんりぃ / T: @monry / F: monry84 
• 29歳 / ♂ / O型 / 天秤座 / 既婚 
• 趣味は「お酒」と「合唱」です。
$ whoami 
• 大学を (自主的に) 卒業後、ベンチャーを転々。 
• Web のフロントエンド、サーバサイドが得意。 
• ようやく Unity 歴 1 年チョイになりました。 
• AWS とキャッキャウフフするのも好きです。 
• 何故か社内インフラも やらされ… やってます。 
• 近頃は Backbone.js (と CoffeeScript と SASS) と戯れてます。
$ jobs 
• “株式会社キッズスター” って会社で働いてます。 
• 未就学児~小学生のお子さまをお持ちの 
ファミリーをターゲットにした、知育/教育に 
関わるアプリ・サービスを展開しております。 
• お陰様で EdTech な知育分野に於いて 
No.1 規模で展開しております!(当社調べw)
$ ls -la apps/ 
こえほん森のえほん館なりきり!! 
おかしの家を 
ごっこランド 
パズル&テイルズ 
おかしのくにを 
つくるのじゃ!! 
なりきり!! 
アイスクリーム 
屋さんごっこ 
なりきり!! 
ママごっこ 
お弁当をつくろう! 
つくろう! 
ハンバーガー 
やさんごっこ 
飛行機を 
組み立てよう! 
i18n i18n 
i18n i18n 
Work in 
Progress
Point 1
環境構築 
• 何はなくとも Xcode6 
• 2014-08-22 現在 Beta6 が最新 
• https://developer.apple.com/ 
• Apple Developer Program への登録必須 
• インストール直後の起動はメッチャ時間かかる
環境構築 
• iBooks に言語リファレンス有り (無料) 
• “The Swift Programming Language” 
• 英語だけど、割と読めるw
環境構築 
• Xcode でプロジェクト作る時に 
Languege: Swift を選択 
• お馴染みの構成で .swift なファイルが生成
環境構築 
ね?簡単でしょう?
Point 2
Objective-C との違い 
• 言語的な意味での仕様は大きく異なる 
• 使える API は殆ど同じ 
• Xcode の使い方も基本的に同じ
Objective-C との違い 
• クラス名・変数名などにマルチバイト文字や 
絵文字が使える 
• Objective-C と絡めるとハマるかも?
Objective-C との違い 
• ショートハンドが盛り沢山 
• Closure とかは変態的に書けるかも?
Objective-C との違い 
• 強力 (?) な型推論 
• ドキュメントの至る所に “infer” って出てくる 
• 可読性・保守性と相談する必要あり
Point 3
Collection 
• 配列・連想配列 
• Array, Dictionary が標準で便利 
• かなり LL な書き方できる
Collection 
• Array
Collection 
• Dictionary
Collection 
• Initializer の仕様がドキュメントと違う…? 
• Java ライクな書き方が出来なかった
Collection 
• 値の書き換えやら nil 代入やらは色々地雷 
• 詳しくはググってくださいw
Point 4
Enumeration 
• 列挙型 
• 省エネコードが書ける 
• 相当パワーアップしてる印象 
• 代数的データ型 × パターンマッチ
Enumeration 
• メソッド持てるようになった
Enumeration 
• 代数的データ型 (Algebraic DataType)
Point 5
Objective-C との共存 
• 過去の資産は有効活用できる 
• ヘッダファイルによる橋渡しが必要 
• Swift→ObjC も ObjC→Swift も可能
Swift → ObjC 
• Objective-C なクラスを追加しようとすると 
ヘッダファイル作るかどうかを聞かれる 
• 連携予定があろうがなかろうが 
作っておいた方が良いかも?
Swift → ObjC 
• ここで出来たヘッダファイル内に 
Swift から呼び出したいクラスの 
ヘッダファイルを列挙
ObjC → Swift 
• もちろん、逆も可能 
• 需要があるかどうかは分からんがw 
• こちらもヘッダファイルで情報をやりとり
ObjC → Swift 
• プロジェクト外に存在するヘッダファイルを 
読み込ませる 
• 実体は 
~/Library/Developer/Xcode/DerivedData/ 
以下の深いところにある
まとめ
リファレンス 
読みましょう
Thank you for 
your attention !

Mais conteúdo relacionado

Semelhante a 20140822 Swift 勉強会 vol.3 - はぢめての Swift

Swiftの実際ダメな所
Swiftの実際ダメな所Swiftの実際ダメな所
Swiftの実際ダメな所S_Shimotori
 
Nullabilityについて
NullabilityについてNullabilityについて
Nullabilityについてishikawa akira
 
第1回 コデアルiOSアプリ勉強会
第1回 コデアルiOSアプリ勉強会第1回 コデアルiOSアプリ勉強会
第1回 コデアルiOSアプリ勉強会codeal
 
Objective-C/Swift コードの共用
Objective-C/Swift コードの共用Objective-C/Swift コードの共用
Objective-C/Swift コードの共用Yoichiro Sakurai
 
C# と .NET と ・・・
C# と .NET と ・・・C# と .NET と ・・・
C# と .NET と ・・・ShinichiAoyagi
 
SwiftによるiOS開発再入門
SwiftによるiOS開発再入門SwiftによるiOS開発再入門
SwiftによるiOS開発再入門Tomoki Hasegawa
 
goog.require()を手書きしていいのは小学生まで
goog.require()を手書きしていいのは小学生までgoog.require()を手書きしていいのは小学生まで
goog.require()を手書きしていいのは小学生までTeppei Sato
 
Swift 3 その基本ルールを眺める #cswift
Swift 3 その基本ルールを眺める #cswiftSwift 3 その基本ルールを眺める #cswift
Swift 3 その基本ルールを眺める #cswiftTomohiro Kumagai
 
iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!
iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!
iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!Kanako Kobayashi
 
Swiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-EdoSwiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-EdoMegumi Otani(Czenhe)
 
XcodeのTargetについてのTIPS
XcodeのTargetについてのTIPSXcodeのTargetについてのTIPS
XcodeのTargetについてのTIPSYoichiro Sakurai
 
Unity/CSharp 1 - pptx
Unity/CSharp 1 - pptxUnity/CSharp 1 - pptx
Unity/CSharp 1 - pptxtagawakiyoshi
 
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたYasuharu Seki
 
200126_Azure Spatial Anchors
200126_Azure Spatial Anchors200126_Azure Spatial Anchors
200126_Azure Spatial AnchorsMadoka Chiyoda
 
iOS 8/Swift 概要 #ios8yahoo
iOS 8/Swift 概要 #ios8yahooiOS 8/Swift 概要 #ios8yahoo
iOS 8/Swift 概要 #ios8yahooHiramatsu Ryosuke
 
PHP でも活用できる Makefile
PHP でも活用できる MakefilePHP でも活用できる Makefile
PHP でも活用できる MakefileShohei Okada
 
YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイドYAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイドkeroyonn
 

Semelhante a 20140822 Swift 勉強会 vol.3 - はぢめての Swift (20)

Swiftの実際ダメな所
Swiftの実際ダメな所Swiftの実際ダメな所
Swiftの実際ダメな所
 
Nullabilityについて
NullabilityについてNullabilityについて
Nullabilityについて
 
第1回 コデアルiOSアプリ勉強会
第1回 コデアルiOSアプリ勉強会第1回 コデアルiOSアプリ勉強会
第1回 コデアルiOSアプリ勉強会
 
Objective-C/Swift コードの共用
Objective-C/Swift コードの共用Objective-C/Swift コードの共用
Objective-C/Swift コードの共用
 
C# と .NET と ・・・
C# と .NET と ・・・C# と .NET と ・・・
C# と .NET と ・・・
 
SwiftによるiOS開発再入門
SwiftによるiOS開発再入門SwiftによるiOS開発再入門
SwiftによるiOS開発再入門
 
goog.require()を手書きしていいのは小学生まで
goog.require()を手書きしていいのは小学生までgoog.require()を手書きしていいのは小学生まで
goog.require()を手書きしていいのは小学生まで
 
Net fringejp2016
Net fringejp2016Net fringejp2016
Net fringejp2016
 
Swift 3 その基本ルールを眺める #cswift
Swift 3 その基本ルールを眺める #cswiftSwift 3 その基本ルールを眺める #cswift
Swift 3 その基本ルールを眺める #cswift
 
iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!
iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!
iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!
 
Swiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-EdoSwiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-Edo
 
XcodeのTargetについてのTIPS
XcodeのTargetについてのTIPSXcodeのTargetについてのTIPS
XcodeのTargetについてのTIPS
 
Unity/CSharp 1 - pptx
Unity/CSharp 1 - pptxUnity/CSharp 1 - pptx
Unity/CSharp 1 - pptx
 
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみた
 
200126_Azure Spatial Anchors
200126_Azure Spatial Anchors200126_Azure Spatial Anchors
200126_Azure Spatial Anchors
 
Swift勉強会
Swift勉強会Swift勉強会
Swift勉強会
 
iOS 8/Swift 概要 #ios8yahoo
iOS 8/Swift 概要 #ios8yahooiOS 8/Swift 概要 #ios8yahoo
iOS 8/Swift 概要 #ios8yahoo
 
PHP でも活用できる Makefile
PHP でも活用できる MakefilePHP でも活用できる Makefile
PHP でも活用できる Makefile
 
Study Swift
Study Swift Study Swift
Study Swift
 
YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイドYAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
 

Mais de Mori Tetsuya

GraphView のすゝめ / Introduction of GraphView
GraphView のすゝめ / Introduction of GraphViewGraphView のすゝめ / Introduction of GraphView
GraphView のすゝめ / Introduction of GraphViewMori Tetsuya
 
基盤・設計まわりでしくじってしまった話
基盤・設計まわりでしくじってしまった話基盤・設計まわりでしくじってしまった話
基盤・設計まわりでしくじってしまった話Mori Tetsuya
 
2020年版 Unity Package Manager 更新点まとめ
2020年版 Unity Package Manager 更新点まとめ2020年版 Unity Package Manager 更新点まとめ
2020年版 Unity Package Manager 更新点まとめMori Tetsuya
 
Unity Development Infrastructure / Unity プロジェクトの開発基盤を大公開
Unity Development Infrastructure / Unity プロジェクトの開発基盤を大公開Unity Development Infrastructure / Unity プロジェクトの開発基盤を大公開
Unity Development Infrastructure / Unity プロジェクトの開発基盤を大公開Mori Tetsuya
 
Clean Architecture for Unity
Clean Architecture for UnityClean Architecture for Unity
Clean Architecture for UnityMori Tetsuya
 
Visual Programming Framework for Unity - UniFlow のご紹介
Visual Programming Framework for Unity - UniFlow のご紹介Visual Programming Framework for Unity - UniFlow のご紹介
Visual Programming Framework for Unity - UniFlow のご紹介Mori Tetsuya
 
Unity ユーザのための Git ハンズオン #2
Unity ユーザのための Git ハンズオン #2Unity ユーザのための Git ハンズオン #2
Unity ユーザのための Git ハンズオン #2Mori Tetsuya
 
Unity で Unit な Test を書いてみた
Unity で Unit な Test を書いてみたUnity で Unit な Test を書いてみた
Unity で Unit な Test を書いてみたMori Tetsuya
 
Unity 5.3 の In-App Purchase を試してみた
Unity 5.3 の In-App Purchase を試してみたUnity 5.3 の In-App Purchase を試してみた
Unity 5.3 の In-App Purchase を試してみたMori Tetsuya
 
AssetBundle (もどき) の作り方
AssetBundle (もどき) の作り方AssetBundle (もどき) の作り方
AssetBundle (もどき) の作り方Mori Tetsuya
 
Unity meets Kinect -Unity で NUI を扱ってみた- / 2015.06.23 at TechBuzz Space
Unity meets Kinect -Unity で NUI を扱ってみた- / 2015.06.23 at TechBuzz SpaceUnity meets Kinect -Unity で NUI を扱ってみた- / 2015.06.23 at TechBuzz Space
Unity meets Kinect -Unity で NUI を扱ってみた- / 2015.06.23 at TechBuzz SpaceMori Tetsuya
 
Unity 5 の AssetBundle について (浅く) まとめてみた - 2015/05/22 第31回 Unity 勉強会
Unity 5 の AssetBundle について (浅く) まとめてみた - 2015/05/22 第31回 Unity 勉強会Unity 5 の AssetBundle について (浅く) まとめてみた - 2015/05/22 第31回 Unity 勉強会
Unity 5 の AssetBundle について (浅く) まとめてみた - 2015/05/22 第31回 Unity 勉強会Mori Tetsuya
 
できる! Unity 2D (vol.2)
できる! Unity 2D (vol.2)できる! Unity 2D (vol.2)
できる! Unity 2D (vol.2)Mori Tetsuya
 
20150216 Unity Hands-on 「できる!Unity 2D」
20150216 Unity Hands-on 「できる!Unity 2D」20150216 Unity Hands-on 「できる!Unity 2D」
20150216 Unity Hands-on 「できる!Unity 2D」Mori Tetsuya
 
20150123 第28回 Unity 勉強会「Unity に於けるビルド自動化のおはなし & 設定管理とリソース管理のおはなし」
20150123 第28回 Unity 勉強会「Unity に於けるビルド自動化のおはなし & 設定管理とリソース管理のおはなし」20150123 第28回 Unity 勉強会「Unity に於けるビルド自動化のおはなし & 設定管理とリソース管理のおはなし」
20150123 第28回 Unity 勉強会「Unity に於けるビルド自動化のおはなし & 設定管理とリソース管理のおはなし」Mori Tetsuya
 
Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会
Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会
Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会Mori Tetsuya
 
Unity に於ける iOS ビルド自動化のおはなし - 20141030 第26回 Unity 勉強会
Unity に於ける iOS ビルド自動化のおはなし - 20141030 第26回 Unity 勉強会Unity に於ける iOS ビルド自動化のおはなし - 20141030 第26回 Unity 勉強会
Unity に於ける iOS ビルド自動化のおはなし - 20141030 第26回 Unity 勉強会Mori Tetsuya
 
20140926 NCMB勉強会 #4 - Unity meets SpriteStudio
20140926 NCMB勉強会 #4 - Unity meets SpriteStudio20140926 NCMB勉強会 #4 - Unity meets SpriteStudio
20140926 NCMB勉強会 #4 - Unity meets SpriteStudioMori Tetsuya
 
20140829 第24回 Unity 勉強会 - Unity meets SpriteStudio
20140829 第24回 Unity 勉強会 - Unity meets SpriteStudio20140829 第24回 Unity 勉強会 - Unity meets SpriteStudio
20140829 第24回 Unity 勉強会 - Unity meets SpriteStudioMori Tetsuya
 

Mais de Mori Tetsuya (20)

GraphView のすゝめ / Introduction of GraphView
GraphView のすゝめ / Introduction of GraphViewGraphView のすゝめ / Introduction of GraphView
GraphView のすゝめ / Introduction of GraphView
 
基盤・設計まわりでしくじってしまった話
基盤・設計まわりでしくじってしまった話基盤・設計まわりでしくじってしまった話
基盤・設計まわりでしくじってしまった話
 
2020年版 Unity Package Manager 更新点まとめ
2020年版 Unity Package Manager 更新点まとめ2020年版 Unity Package Manager 更新点まとめ
2020年版 Unity Package Manager 更新点まとめ
 
Unity Development Infrastructure / Unity プロジェクトの開発基盤を大公開
Unity Development Infrastructure / Unity プロジェクトの開発基盤を大公開Unity Development Infrastructure / Unity プロジェクトの開発基盤を大公開
Unity Development Infrastructure / Unity プロジェクトの開発基盤を大公開
 
Future of UniFlow
Future of UniFlowFuture of UniFlow
Future of UniFlow
 
Clean Architecture for Unity
Clean Architecture for UnityClean Architecture for Unity
Clean Architecture for Unity
 
Visual Programming Framework for Unity - UniFlow のご紹介
Visual Programming Framework for Unity - UniFlow のご紹介Visual Programming Framework for Unity - UniFlow のご紹介
Visual Programming Framework for Unity - UniFlow のご紹介
 
Unity ユーザのための Git ハンズオン #2
Unity ユーザのための Git ハンズオン #2Unity ユーザのための Git ハンズオン #2
Unity ユーザのための Git ハンズオン #2
 
Unity で Unit な Test を書いてみた
Unity で Unit な Test を書いてみたUnity で Unit な Test を書いてみた
Unity で Unit な Test を書いてみた
 
Unity 5.3 の In-App Purchase を試してみた
Unity 5.3 の In-App Purchase を試してみたUnity 5.3 の In-App Purchase を試してみた
Unity 5.3 の In-App Purchase を試してみた
 
AssetBundle (もどき) の作り方
AssetBundle (もどき) の作り方AssetBundle (もどき) の作り方
AssetBundle (もどき) の作り方
 
Unity meets Kinect -Unity で NUI を扱ってみた- / 2015.06.23 at TechBuzz Space
Unity meets Kinect -Unity で NUI を扱ってみた- / 2015.06.23 at TechBuzz SpaceUnity meets Kinect -Unity で NUI を扱ってみた- / 2015.06.23 at TechBuzz Space
Unity meets Kinect -Unity で NUI を扱ってみた- / 2015.06.23 at TechBuzz Space
 
Unity 5 の AssetBundle について (浅く) まとめてみた - 2015/05/22 第31回 Unity 勉強会
Unity 5 の AssetBundle について (浅く) まとめてみた - 2015/05/22 第31回 Unity 勉強会Unity 5 の AssetBundle について (浅く) まとめてみた - 2015/05/22 第31回 Unity 勉強会
Unity 5 の AssetBundle について (浅く) まとめてみた - 2015/05/22 第31回 Unity 勉強会
 
できる! Unity 2D (vol.2)
できる! Unity 2D (vol.2)できる! Unity 2D (vol.2)
できる! Unity 2D (vol.2)
 
20150216 Unity Hands-on 「できる!Unity 2D」
20150216 Unity Hands-on 「できる!Unity 2D」20150216 Unity Hands-on 「できる!Unity 2D」
20150216 Unity Hands-on 「できる!Unity 2D」
 
20150123 第28回 Unity 勉強会「Unity に於けるビルド自動化のおはなし & 設定管理とリソース管理のおはなし」
20150123 第28回 Unity 勉強会「Unity に於けるビルド自動化のおはなし & 設定管理とリソース管理のおはなし」20150123 第28回 Unity 勉強会「Unity に於けるビルド自動化のおはなし & 設定管理とリソース管理のおはなし」
20150123 第28回 Unity 勉強会「Unity に於けるビルド自動化のおはなし & 設定管理とリソース管理のおはなし」
 
Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会
Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会
Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会
 
Unity に於ける iOS ビルド自動化のおはなし - 20141030 第26回 Unity 勉強会
Unity に於ける iOS ビルド自動化のおはなし - 20141030 第26回 Unity 勉強会Unity に於ける iOS ビルド自動化のおはなし - 20141030 第26回 Unity 勉強会
Unity に於ける iOS ビルド自動化のおはなし - 20141030 第26回 Unity 勉強会
 
20140926 NCMB勉強会 #4 - Unity meets SpriteStudio
20140926 NCMB勉強会 #4 - Unity meets SpriteStudio20140926 NCMB勉強会 #4 - Unity meets SpriteStudio
20140926 NCMB勉強会 #4 - Unity meets SpriteStudio
 
20140829 第24回 Unity 勉強会 - Unity meets SpriteStudio
20140829 第24回 Unity 勉強会 - Unity meets SpriteStudio20140829 第24回 Unity 勉強会 - Unity meets SpriteStudio
20140829 第24回 Unity 勉強会 - Unity meets SpriteStudio
 

20140822 Swift 勉強会 vol.3 - はぢめての Swift

  • 1. はぢめての Swift - この3日で、Swift 情報をまとめてみた! 抑えておきたい5つのポイント - 2014.08.22 (Fri) / Swift 勉強会 vol.3 株式会社キッズスター システムデベロプメントチーム リーダー 森 哲哉
  • 3.
  • 4.
  • 6.
  • 9. おしながき • Point 1: 環境構築 • Point 2: Objective-C との違い • Point 3: Collection • Point 4: Enumeration • Point 5: Objective-C との共存
  • 11. $ whoami • “森 哲哉” と申します。 • a.k.a: もんりぃ / T: @monry / F: monry84 • 29歳 / ♂ / O型 / 天秤座 / 既婚 • 趣味は「お酒」と「合唱」です。
  • 12. $ whoami • 大学を (自主的に) 卒業後、ベンチャーを転々。 • Web のフロントエンド、サーバサイドが得意。 • ようやく Unity 歴 1 年チョイになりました。 • AWS とキャッキャウフフするのも好きです。 • 何故か社内インフラも やらされ… やってます。 • 近頃は Backbone.js (と CoffeeScript と SASS) と戯れてます。
  • 13. $ jobs • “株式会社キッズスター” って会社で働いてます。 • 未就学児~小学生のお子さまをお持ちの ファミリーをターゲットにした、知育/教育に 関わるアプリ・サービスを展開しております。 • お陰様で EdTech な知育分野に於いて No.1 規模で展開しております!(当社調べw)
  • 14. $ ls -la apps/ こえほん森のえほん館なりきり!! おかしの家を ごっこランド パズル&テイルズ おかしのくにを つくるのじゃ!! なりきり!! アイスクリーム 屋さんごっこ なりきり!! ママごっこ お弁当をつくろう! つくろう! ハンバーガー やさんごっこ 飛行機を 組み立てよう! i18n i18n i18n i18n Work in Progress
  • 16. 環境構築 • 何はなくとも Xcode6 • 2014-08-22 現在 Beta6 が最新 • https://developer.apple.com/ • Apple Developer Program への登録必須 • インストール直後の起動はメッチャ時間かかる
  • 17. 環境構築 • iBooks に言語リファレンス有り (無料) • “The Swift Programming Language” • 英語だけど、割と読めるw
  • 18. 環境構築 • Xcode でプロジェクト作る時に Languege: Swift を選択 • お馴染みの構成で .swift なファイルが生成
  • 21. Objective-C との違い • 言語的な意味での仕様は大きく異なる • 使える API は殆ど同じ • Xcode の使い方も基本的に同じ
  • 22. Objective-C との違い • クラス名・変数名などにマルチバイト文字や 絵文字が使える • Objective-C と絡めるとハマるかも?
  • 23. Objective-C との違い • ショートハンドが盛り沢山 • Closure とかは変態的に書けるかも?
  • 24. Objective-C との違い • 強力 (?) な型推論 • ドキュメントの至る所に “infer” って出てくる • 可読性・保守性と相談する必要あり
  • 26. Collection • 配列・連想配列 • Array, Dictionary が標準で便利 • かなり LL な書き方できる
  • 29. Collection • Initializer の仕様がドキュメントと違う…? • Java ライクな書き方が出来なかった
  • 30. Collection • 値の書き換えやら nil 代入やらは色々地雷 • 詳しくはググってくださいw
  • 32. Enumeration • 列挙型 • 省エネコードが書ける • 相当パワーアップしてる印象 • 代数的データ型 × パターンマッチ
  • 36. Objective-C との共存 • 過去の資産は有効活用できる • ヘッダファイルによる橋渡しが必要 • Swift→ObjC も ObjC→Swift も可能
  • 37. Swift → ObjC • Objective-C なクラスを追加しようとすると ヘッダファイル作るかどうかを聞かれる • 連携予定があろうがなかろうが 作っておいた方が良いかも?
  • 38. Swift → ObjC • ここで出来たヘッダファイル内に Swift から呼び出したいクラスの ヘッダファイルを列挙
  • 39. ObjC → Swift • もちろん、逆も可能 • 需要があるかどうかは分からんがw • こちらもヘッダファイルで情報をやりとり
  • 40. ObjC → Swift • プロジェクト外に存在するヘッダファイルを 読み込ませる • 実体は ~/Library/Developer/Xcode/DerivedData/ 以下の深いところにある
  • 43. Thank you for your attention !