Soumettre la recherche
Mettre en ligne
Wolcome to swift
•
4 j'aime
•
1,028 vues
Kyohei Ito
Suivre
Swiftの紹介資料です。 社内向けなので雑な部分もあります。
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 28
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
Getting Started With Ore-Ore Swift Standard Library ++ ほんのり続報
Getting Started With Ore-Ore Swift Standard Library ++ ほんのり続報
Tomohiro Kumagai
Getting Started With Ore-Ore Swift Standard Library +
Getting Started With Ore-Ore Swift Standard Library +
Tomohiro Kumagai
これからはじめる SwiftPlayground入門
これからはじめる SwiftPlayground入門
Hiramatsu Ryosuke
iOS 8/Swift 概要 #ios8yahoo
iOS 8/Swift 概要 #ios8yahoo
Hiramatsu Ryosuke
Swift勉強会
Swift勉強会
Nagamine Hiromasa
Xcode 6の新機能
Xcode 6の新機能
Shingo Sato
Obj-CをSwiftにリプレースするお話
Obj-CをSwiftにリプレースするお話
Hitoshi Saito
Ansible softlayer
Ansible softlayer
Hideaki Tokida
Recommandé
Getting Started With Ore-Ore Swift Standard Library ++ ほんのり続報
Getting Started With Ore-Ore Swift Standard Library ++ ほんのり続報
Tomohiro Kumagai
Getting Started With Ore-Ore Swift Standard Library +
Getting Started With Ore-Ore Swift Standard Library +
Tomohiro Kumagai
これからはじめる SwiftPlayground入門
これからはじめる SwiftPlayground入門
Hiramatsu Ryosuke
iOS 8/Swift 概要 #ios8yahoo
iOS 8/Swift 概要 #ios8yahoo
Hiramatsu Ryosuke
Swift勉強会
Swift勉強会
Nagamine Hiromasa
Xcode 6の新機能
Xcode 6の新機能
Shingo Sato
Obj-CをSwiftにリプレースするお話
Obj-CをSwiftにリプレースするお話
Hitoshi Saito
Ansible softlayer
Ansible softlayer
Hideaki Tokida
Nullabilityについて
Nullabilityについて
ishikawa akira
SwiftでSioriを開発した体験記
SwiftでSioriを開発した体験記
yohei sugigami
JavaScript使いのためのTypeScript実践入門
JavaScript使いのためのTypeScript実践入門
Shumpei Shiraishi
Ansible勉強会資料
Ansible勉強会資料
Makoto Oya
事前準備の手引書
事前準備の手引書
Makoto Oya
気が狂わないサーバ増設x10
気が狂わないサーバ増設x10
Kiyotaka Kunihira
Node.js version16の新機能
Node.js version16の新機能
Masaki Suzuki
Embedded framework and so on
Embedded framework and so on
toyship
AnsibleによるInfrastructure as code入門
AnsibleによるInfrastructure as code入門
kk_Ataka
Xcode 5 で見つけた「どうでもいい」機能(厳選6つ) #cocoa_kansai, #yidev
Xcode 5 で見つけた「どうでもいい」機能(厳選6つ) #cocoa_kansai, #yidev
Tomohiro Kumagai
CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜
CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜
niwatako
Editorlt
Editorlt
Masaki Suzuki
Getting started with Handoff
Getting started with Handoff
Yuichi Yoshida
Ansible x softlayer Provisioning
Ansible x softlayer Provisioning
softlayerjp
Xcode 再入門「Xcode の検索機能」 #さいたまdev
Xcode 再入門「Xcode の検索機能」 #さいたまdev
Tomohiro Kumagai
Cowboyとphoenixの速度比較
Cowboyとphoenixの速度比較
hayabusa333
Scripting Layer for Android + Perl
Scripting Layer for Android + Perl
Naoya Ito
Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法
Tomoki Hasegawa
もう怖くないモバイルアプリ開発!
もう怖くないモバイルアプリ開発!
Toshiki Iga
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
Masanori Ishigami
Xcode and iTC submission topics
Xcode and iTC submission topics
Syo Ikeda
OpenGLプログラミング
OpenGLプログラミング
幸雄 村上
Contenu connexe
Tendances
Nullabilityについて
Nullabilityについて
ishikawa akira
SwiftでSioriを開発した体験記
SwiftでSioriを開発した体験記
yohei sugigami
JavaScript使いのためのTypeScript実践入門
JavaScript使いのためのTypeScript実践入門
Shumpei Shiraishi
Ansible勉強会資料
Ansible勉強会資料
Makoto Oya
事前準備の手引書
事前準備の手引書
Makoto Oya
気が狂わないサーバ増設x10
気が狂わないサーバ増設x10
Kiyotaka Kunihira
Node.js version16の新機能
Node.js version16の新機能
Masaki Suzuki
Embedded framework and so on
Embedded framework and so on
toyship
AnsibleによるInfrastructure as code入門
AnsibleによるInfrastructure as code入門
kk_Ataka
Xcode 5 で見つけた「どうでもいい」機能(厳選6つ) #cocoa_kansai, #yidev
Xcode 5 で見つけた「どうでもいい」機能(厳選6つ) #cocoa_kansai, #yidev
Tomohiro Kumagai
CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜
CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜
niwatako
Editorlt
Editorlt
Masaki Suzuki
Getting started with Handoff
Getting started with Handoff
Yuichi Yoshida
Ansible x softlayer Provisioning
Ansible x softlayer Provisioning
softlayerjp
Xcode 再入門「Xcode の検索機能」 #さいたまdev
Xcode 再入門「Xcode の検索機能」 #さいたまdev
Tomohiro Kumagai
Cowboyとphoenixの速度比較
Cowboyとphoenixの速度比較
hayabusa333
Scripting Layer for Android + Perl
Scripting Layer for Android + Perl
Naoya Ito
Tendances
(17)
Nullabilityについて
Nullabilityについて
SwiftでSioriを開発した体験記
SwiftでSioriを開発した体験記
JavaScript使いのためのTypeScript実践入門
JavaScript使いのためのTypeScript実践入門
Ansible勉強会資料
Ansible勉強会資料
事前準備の手引書
事前準備の手引書
気が狂わないサーバ増設x10
気が狂わないサーバ増設x10
Node.js version16の新機能
Node.js version16の新機能
Embedded framework and so on
Embedded framework and so on
AnsibleによるInfrastructure as code入門
AnsibleによるInfrastructure as code入門
Xcode 5 で見つけた「どうでもいい」機能(厳選6つ) #cocoa_kansai, #yidev
Xcode 5 で見つけた「どうでもいい」機能(厳選6つ) #cocoa_kansai, #yidev
CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜
CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜
Editorlt
Editorlt
Getting started with Handoff
Getting started with Handoff
Ansible x softlayer Provisioning
Ansible x softlayer Provisioning
Xcode 再入門「Xcode の検索機能」 #さいたまdev
Xcode 再入門「Xcode の検索機能」 #さいたまdev
Cowboyとphoenixの速度比較
Cowboyとphoenixの速度比較
Scripting Layer for Android + Perl
Scripting Layer for Android + Perl
Similaire à Wolcome to swift
Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法
Tomoki Hasegawa
もう怖くないモバイルアプリ開発!
もう怖くないモバイルアプリ開発!
Toshiki Iga
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
Masanori Ishigami
Xcode and iTC submission topics
Xcode and iTC submission topics
Syo Ikeda
OpenGLプログラミング
OpenGLプログラミング
幸雄 村上
APIMeetup 20170329_ichimura
APIMeetup 20170329_ichimura
Tomohiro Ichimura
Server side Swift & Photo Booth
Server side Swift & Photo Booth
LINE Corporation
Inside of swift
Inside of swift
LINE Corporation
Swift
Swift
Toshihiro Suzuki
Web socketドロンくん その後-
Web socketドロンくん その後-
Yuuichi Akagawa
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
Titanium Mobile
Titanium Mobile
Naoya Ito
Endo kitura on_bluemix
Endo kitura on_bluemix
joohoun song
Swaggerを利用した新規サービス開発
Swaggerを利用した新規サービス開発
recotech
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
Akira Inoue
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
Fumiya Sakai
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
Issei Hiraoka
ようこそ! Swift Playgroundsへ
ようこそ! Swift Playgroundsへ
KinkumaDesign
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
Naoya Ito
CodeIgniterによるPhwittr
CodeIgniterによるPhwittr
kenjis
Similaire à Wolcome to swift
(20)
Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法
もう怖くないモバイルアプリ開発!
もう怖くないモバイルアプリ開発!
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
Xcode and iTC submission topics
Xcode and iTC submission topics
OpenGLプログラミング
OpenGLプログラミング
APIMeetup 20170329_ichimura
APIMeetup 20170329_ichimura
Server side Swift & Photo Booth
Server side Swift & Photo Booth
Inside of swift
Inside of swift
Swift
Swift
Web socketドロンくん その後-
Web socketドロンくん その後-
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Titanium Mobile
Titanium Mobile
Endo kitura on_bluemix
Endo kitura on_bluemix
Swaggerを利用した新規サービス開発
Swaggerを利用した新規サービス開発
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
ようこそ! Swift Playgroundsへ
ようこそ! Swift Playgroundsへ
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
CodeIgniterによるPhwittr
CodeIgniterによるPhwittr
Dernier
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
Dernier
(11)
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Wolcome to swift
1.
Welcome to Swift
Kyohei Ito
2.
自己紹介 伊藤 恭平(31) !
福岡IT土方 → 福岡ITベンチャー → CA@福岡 → CA@東京 ! 2011年11月 入社 入社直後 iOSエンジニア 3ヶ月後 フロントエンドエンジニア 途中 サーバJavaをかじる 1年半後 iOSエンジニア 途中 Androidをかじる
3.
About Swift
4.
Swift 1.0 2010年に開発が始まった
実行環境はiOS 7 以降 「モダン、安全、高速、インタラクティブ」 いいとこ取りな言語仕様
5.
高速 パフォーマンスを前提に設計 Objective-Cを凌ぐ実行速度
6.
インタラクティブ 対話実行環境(REPL) Playground
7.
言語仕様 全部入り
8.
Swift for iOS
9.
実装設計 cocoa frameworkはそのまま
c言語は書けない
10.
ハマりどころ ネットの情報を鵜呑みにできない
11.
// Array !
var numbers: Int[] = [1, 2, 3] // NG ! var numbers: [Int] = [1, 2, 3] // OK
12.
// Dictionary !
var object: Dictionary<String, AnyObject?> = ["key1": "A", "key2": 1] // deprecate ! var object: [String: AnyObject?] = ["key1": "A", "key2": 1] // OK
13.
ハマりどころ Optionalの出現 詳しくはこちら
14.
// Optional !
var firstName: String = nil // build error
15.
// Optional !
func printString(string: String) { println("(string)") } ! var lastName: String? = nil ! var name: String! = nil ! printString(lastName) // build error ! printString(name) // runtime error
16.
ハマりどころ Array ≠
NSArray String ≠ NSString Dictionary ≠ NSDictionary 根底のクラスがstructに変更
17.
Swift / Objective-c
18.
SwiftからObjective-cを参照 ${PRODUCT_NAME}-Bridging-Header.hに必要なヘッダを importする
イニシャライザの呼び方が変更 enumの値の取得が変更
19.
${PRODUCT_NAME}-Bridging-Header.hに必要なヘッダをimportする // //
Playground-Bridging-Header.h // ! #ifdef __OBJC__ #import <UIKit/UIKit.h> #import <Foundation/Foundation.h> #endif ! #import <ASFoundation/ASFoundation.h> #import <AMBTableViewController/AMBTableViewController.h> #import <SDWebImage/UIImageView+WebCache.h> ! #import "Utility.h" #import "Appearance.h"
20.
イニシャライザの呼び方が変更 // MyClass.h
- (id)initWithAttributes:(NSDictionary *)attributes; ! // Objective-c [[MyClass alloc] initWithAttributes:@{ @"key": @“value”}]; ! // Swift MyClass(attributes: ["key": "value"])
21.
enumの値の取得が変更 // MyHTTP.h
typedef NS_ENUM (NSInteger, HTTPStatus) { HTTPStatusUnknown = 0, HTTPStatusSuccess = 200, HTTPStatusBadRequest = 400, HTTPStatusServerError = 500 }; !! //MyHTTP.swift var status: HTTPStatus = .Success HTTPStatus.Success
22.
Objective-cからSwiftを参照 ${PRODUCT_NAME}-Swift.hをimportする コードのどこかにインナークラスがあるとビルドエラー
enumがどっか行っちゃう 定数が定義できない
23.
Swiftの定義 // //
Human.swift // Playground // ! import UIKit ! let HumanName = "joe" ! @objc class Human { enum Gender { case male case female } @objc class Person { @objc class Employ { } } }
24.
Objective-cの定義 // //
MyClass.m // Playground // ! #import "MyClass.h" #import "Playground-Swift.h" ! @implementation MyClass ! @end
25.
${PRODUCT_NAME}-Swift.hの中 // //
Playground-Swift.h // ! @class Person; ! SWIFT_CLASS("_TtC10Playground5Human") @interface Human SWIFT_CLASS("_TtCC10Playground5Human6Person") @interface Person SWIFT_CLASS("_TtCCC10Playground5Human6Person6Employ") @interface Employ - (instancetype)init OBJC_DESIGNATED_INITIALIZER; @end - (instancetype)init OBJC_DESIGNATED_INITIALIZER; @end - (instancetype)init OBJC_DESIGNATED_INITIALIZER; @end
26.
やってること Objective-cも使うのでプレフィックスはつける NSObjectのサブクラスにする
どれでも良いがJSONのパーサを使う SwiftのSyntaxを意識する
27.
JSONパーサ swift-json json-swift
SwiftyJSON JSONマッパー(宣伝) G3JSON 詳しくはこちら
28.
ご静聴ありがとうございました
Télécharger maintenant