Submit Search
Upload
Swift bondさわってみた
•
0 likes
•
2,266 views
Motoki Narita
Follow
第50回 もくもくiOS 2周年LT会@Retty【最終回】での発表内容 http://connpass.com/event/22276/
Read less
Read more
Mobile
Report
Share
Report
Share
1 of 23
Download now
Download to read offline
Recommended
Swift bondでつなげてプログラミング
Swift bondでつなげてプログラミング
貴士 山本
Fiddler 使ってますか?
Fiddler 使ってますか?
Joni
インフラエンジニアとはなんぞ?
インフラエンジニアとはなんぞ?
Kei Mikage
はじめてのモバイルウェブアプリ 1
はじめてのモバイルウェブアプリ 1
Taisuke Fukuno
Codeigniter3フレームアップデート
Codeigniter3フレームアップデート
tomohiro kitaura
.NET Core 3.0 で Blazor を使用したフルスタック C# Web アプリの構築
.NET Core 3.0 で Blazor を使用したフルスタック C# Web アプリの構築
Joni
Code igniterを初めて使うときにはまった4つのポイント
Code igniterを初めて使うときにはまった4つのポイント
noldor
Macアプリのインストーラ作成ツールSwift版
Macアプリのインストーラ作成ツールSwift版
Akira Hayashi
Recommended
Swift bondでつなげてプログラミング
Swift bondでつなげてプログラミング
貴士 山本
Fiddler 使ってますか?
Fiddler 使ってますか?
Joni
インフラエンジニアとはなんぞ?
インフラエンジニアとはなんぞ?
Kei Mikage
はじめてのモバイルウェブアプリ 1
はじめてのモバイルウェブアプリ 1
Taisuke Fukuno
Codeigniter3フレームアップデート
Codeigniter3フレームアップデート
tomohiro kitaura
.NET Core 3.0 で Blazor を使用したフルスタック C# Web アプリの構築
.NET Core 3.0 で Blazor を使用したフルスタック C# Web アプリの構築
Joni
Code igniterを初めて使うときにはまった4つのポイント
Code igniterを初めて使うときにはまった4つのポイント
noldor
Macアプリのインストーラ作成ツールSwift版
Macアプリのインストーラ作成ツールSwift版
Akira Hayashi
Xcode以外の開発環境 AppCodeの紹介
Xcode以外の開発環境 AppCodeの紹介
Akira Hayashi
ionic - cross platform mobile app 開発
ionic - cross platform mobile app 開発
Seunghun Lee
Bot frameworkでbot入門
Bot frameworkでbot入門
Tsubasa Yoshino
WS2012R2本とキティさんとわたし
WS2012R2本とキティさんとわたし
wintechq
20200714 cogbot
20200714 cogbot
ひかり 影中
Azure mobileserviceを使ってみた
Azure mobileserviceを使ってみた
bg1 333
WebAPIのこれまでとこれから
WebAPIのこれまでとこれから
Yohei Yamamoto
Blazor Server テンプレート解説
Blazor Server テンプレート解説
Yuta Matsumura
Xcode グループとフォルダー参照 #yhios
Xcode グループとフォルダー参照 #yhios
Tomohiro Kumagai
JAWS DAYS 2017 / SORACOM UGで発表されたLTやブログを紹介しちゃうよ!!
JAWS DAYS 2017 / SORACOM UGで発表されたLTやブログを紹介しちゃうよ!!
Kohei MATSUSHITA
「移動中の仕事術とユーザーグループと私」
「移動中の仕事術とユーザーグループと私」
Kohei MATSUSHITA
Bot framework概要
Bot framework概要
Tsubasa Yoshino
スマホアプリ開発者のためのWeb api開発入門の入門
スマホアプリ開発者のためのWeb api開発入門の入門
Kenyu Miura
JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2
JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2
pandeiro245
Bot Framework で会話のログを取る
Bot Framework で会話のログを取る
Atsushi Yokohama (BEACHSIDE)
TypeScript x Bot Framework
TypeScript x Bot Framework
Kazumi IWANAGA
Microsoft learnご紹介vol2
Microsoft learnご紹介vol2
ru pic
Movable Type 6の新機能 Data APIの活用法
Movable Type 6の新機能 Data APIの活用法
Hajime Fujimoto
Data API 2.0
Data API 2.0
Yuji Takayama
MSBプレ講座ノーコード開発
MSBプレ講座ノーコード開発
Kentaro Murata
Data API + AWS = (CMS どうでしょう 札幌編)
Data API + AWS = (CMS どうでしょう 札幌編)
Yuji Takayama
Swiftのプロパティオブザーバを使い倒す
Swiftのプロパティオブザーバを使い倒す
Tomoki Hasegawa
More Related Content
What's hot
Xcode以外の開発環境 AppCodeの紹介
Xcode以外の開発環境 AppCodeの紹介
Akira Hayashi
ionic - cross platform mobile app 開発
ionic - cross platform mobile app 開発
Seunghun Lee
Bot frameworkでbot入門
Bot frameworkでbot入門
Tsubasa Yoshino
WS2012R2本とキティさんとわたし
WS2012R2本とキティさんとわたし
wintechq
20200714 cogbot
20200714 cogbot
ひかり 影中
Azure mobileserviceを使ってみた
Azure mobileserviceを使ってみた
bg1 333
WebAPIのこれまでとこれから
WebAPIのこれまでとこれから
Yohei Yamamoto
Blazor Server テンプレート解説
Blazor Server テンプレート解説
Yuta Matsumura
Xcode グループとフォルダー参照 #yhios
Xcode グループとフォルダー参照 #yhios
Tomohiro Kumagai
JAWS DAYS 2017 / SORACOM UGで発表されたLTやブログを紹介しちゃうよ!!
JAWS DAYS 2017 / SORACOM UGで発表されたLTやブログを紹介しちゃうよ!!
Kohei MATSUSHITA
「移動中の仕事術とユーザーグループと私」
「移動中の仕事術とユーザーグループと私」
Kohei MATSUSHITA
Bot framework概要
Bot framework概要
Tsubasa Yoshino
スマホアプリ開発者のためのWeb api開発入門の入門
スマホアプリ開発者のためのWeb api開発入門の入門
Kenyu Miura
JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2
JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2
pandeiro245
Bot Framework で会話のログを取る
Bot Framework で会話のログを取る
Atsushi Yokohama (BEACHSIDE)
TypeScript x Bot Framework
TypeScript x Bot Framework
Kazumi IWANAGA
Microsoft learnご紹介vol2
Microsoft learnご紹介vol2
ru pic
Movable Type 6の新機能 Data APIの活用法
Movable Type 6の新機能 Data APIの活用法
Hajime Fujimoto
Data API 2.0
Data API 2.0
Yuji Takayama
MSBプレ講座ノーコード開発
MSBプレ講座ノーコード開発
Kentaro Murata
What's hot
(20)
Xcode以外の開発環境 AppCodeの紹介
Xcode以外の開発環境 AppCodeの紹介
ionic - cross platform mobile app 開発
ionic - cross platform mobile app 開発
Bot frameworkでbot入門
Bot frameworkでbot入門
WS2012R2本とキティさんとわたし
WS2012R2本とキティさんとわたし
20200714 cogbot
20200714 cogbot
Azure mobileserviceを使ってみた
Azure mobileserviceを使ってみた
WebAPIのこれまでとこれから
WebAPIのこれまでとこれから
Blazor Server テンプレート解説
Blazor Server テンプレート解説
Xcode グループとフォルダー参照 #yhios
Xcode グループとフォルダー参照 #yhios
JAWS DAYS 2017 / SORACOM UGで発表されたLTやブログを紹介しちゃうよ!!
JAWS DAYS 2017 / SORACOM UGで発表されたLTやブログを紹介しちゃうよ!!
「移動中の仕事術とユーザーグループと私」
「移動中の仕事術とユーザーグループと私」
Bot framework概要
Bot framework概要
スマホアプリ開発者のためのWeb api開発入門の入門
スマホアプリ開発者のためのWeb api開発入門の入門
JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2
JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2
Bot Framework で会話のログを取る
Bot Framework で会話のログを取る
TypeScript x Bot Framework
TypeScript x Bot Framework
Microsoft learnご紹介vol2
Microsoft learnご紹介vol2
Movable Type 6の新機能 Data APIの活用法
Movable Type 6の新機能 Data APIの活用法
Data API 2.0
Data API 2.0
MSBプレ講座ノーコード開発
MSBプレ講座ノーコード開発
Similar to Swift bondさわってみた
Data API + AWS = (CMS どうでしょう 札幌編)
Data API + AWS = (CMS どうでしょう 札幌編)
Yuji Takayama
Swiftのプロパティオブザーバを使い倒す
Swiftのプロパティオブザーバを使い倒す
Tomoki Hasegawa
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Shumpei Shiraishi
スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向
Tsutomu Ogasawara
HTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティス
アシアル株式会社
Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)
Monaca
2016/05/01 Visual Studio with Cordova
2016/05/01 Visual Studio with Cordova
miso- soup3
モバイルOSとWeb標準とそれらへのアプローチ
モバイルOSとWeb標準とそれらへのアプローチ
Kisato
遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetup
S Akai
中規模Androidアプリ開発の過程に生じた問題と対策の紹介
中規模Androidアプリ開発の過程に生じた問題と対策の紹介
NilOne Ltd.
Linked Data in Japan/Semantic Conference In Japan 2010
Linked Data in Japan/Semantic Conference In Japan 2010
National Institute of Informatics (NII)
DevLOVE iPhoneアプリ勉強会
DevLOVE iPhoneアプリ勉強会
Toshimitsu Takahashi
fluxflex meetup in Tokyo
fluxflex meetup in Tokyo
Kyosuke Inoue
API活用で更に広がるDynamicsエコシステム
API活用で更に広がるDynamicsエコシステム
CData Software Japan
Server side swift: Vapor
Server side swift: Vapor
Iko Nakari
OWIN って何?
OWIN って何?
miso- soup3
次期Office製品群の新しい開発モデルの解説
次期Office製品群の新しい開発モデルの解説
kumo2010
概説 Data API v3
概説 Data API v3
Yuji Takayama
JDBCでつながるSaasの世界
JDBCでつながるSaasの世界
CData Software Japan
iQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナー
Imamura Masayuki
Similar to Swift bondさわってみた
(20)
Data API + AWS = (CMS どうでしょう 札幌編)
Data API + AWS = (CMS どうでしょう 札幌編)
Swiftのプロパティオブザーバを使い倒す
Swiftのプロパティオブザーバを使い倒す
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向
HTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティス
Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)
2016/05/01 Visual Studio with Cordova
2016/05/01 Visual Studio with Cordova
モバイルOSとWeb標準とそれらへのアプローチ
モバイルOSとWeb標準とそれらへのアプローチ
遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetup
中規模Androidアプリ開発の過程に生じた問題と対策の紹介
中規模Androidアプリ開発の過程に生じた問題と対策の紹介
Linked Data in Japan/Semantic Conference In Japan 2010
Linked Data in Japan/Semantic Conference In Japan 2010
DevLOVE iPhoneアプリ勉強会
DevLOVE iPhoneアプリ勉強会
fluxflex meetup in Tokyo
fluxflex meetup in Tokyo
API活用で更に広がるDynamicsエコシステム
API活用で更に広がるDynamicsエコシステム
Server side swift: Vapor
Server side swift: Vapor
OWIN って何?
OWIN って何?
次期Office製品群の新しい開発モデルの解説
次期Office製品群の新しい開発モデルの解説
概説 Data API v3
概説 Data API v3
JDBCでつながるSaasの世界
JDBCでつながるSaasの世界
iQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナー
More from Motoki Narita
Type safety WCSession
Type safety WCSession
Motoki Narita
NullabilityとジェネリクスでswiftからObjective-Cのコードを使いやすくする
NullabilityとジェネリクスでswiftからObjective-Cのコードを使いやすくする
Motoki Narita
できることから始めるOss活動
できることから始めるOss活動
Motoki Narita
Enumerate
Enumerate
Motoki Narita
Swift3.0に向けて enumerateを使い始めよう
Swift3.0に向けて enumerateを使い始めよう
Motoki Narita
About Swift-Clean
About Swift-Clean
Motoki Narita
watchOS2 tips
watchOS2 tips
Motoki Narita
個人で開発したアプリがベスト新着に選ばれた話
個人で開発したアプリがベスト新着に選ばれた話
Motoki Narita
Xcode tips
Xcode tips
Motoki Narita
watchOS1 to watchOS2
watchOS1 to watchOS2
Motoki Narita
Complication
Complication
Motoki Narita
Watch connectivity
Watch connectivity
Motoki Narita
Optionalの使い方 第1回 Swift勉強会@ネクスト
Optionalの使い方 第1回 Swift勉強会@ネクスト
Motoki Narita
More from Motoki Narita
(13)
Type safety WCSession
Type safety WCSession
NullabilityとジェネリクスでswiftからObjective-Cのコードを使いやすくする
NullabilityとジェネリクスでswiftからObjective-Cのコードを使いやすくする
できることから始めるOss活動
できることから始めるOss活動
Enumerate
Enumerate
Swift3.0に向けて enumerateを使い始めよう
Swift3.0に向けて enumerateを使い始めよう
About Swift-Clean
About Swift-Clean
watchOS2 tips
watchOS2 tips
個人で開発したアプリがベスト新着に選ばれた話
個人で開発したアプリがベスト新着に選ばれた話
Xcode tips
Xcode tips
watchOS1 to watchOS2
watchOS1 to watchOS2
Complication
Complication
Watch connectivity
Watch connectivity
Optionalの使い方 第1回 Swift勉強会@ネクスト
Optionalの使い方 第1回 Swift勉強会@ネクスト
Swift bondさわってみた
1.
2.
自己紹介 • @mo_to_44 • 株式会社ネクストで HOME
S(不動産検索アプリ)のiOSエンジニア • 最近はアプリ向けのAPIをつくるためにRuby書いた り
3.
自己紹介 • 個人でもカメラアプリと か作ってます • リボカメ •
ベスト新着 App に選出さ れました
4.
SwiftBond
5.
https://github.com/SwiftBond/Bond SwiftBond
6.
• データや状態の変化とViewをバインディング • データバインディングのSwift製ライブラリ •
現在のバージョンは4.2.0 SwiftBond
7.
• データバインディング(データバインド、あるいはData Bindingの 訳からデータ結合とも呼ばれる。)とは、XMLなどのデータソース とアプリケーションやウェブページ(ウェブアプリケーション)の ユーザインタフェースを静的または動的に結合する技術である。 •
分離されたデータソースとユーザインタフェースの間を橋渡しする 役割を果たし、データが変更されるとそれに応じてユーザインタ フェースが変更される一方向なデータバインディングと、併せてユー ザインタフェースの変更または操作に応じてデータが変更される双 方向のデータバインディングがある。 データバインディングとは wikipediaより
8.
概要
9.
画面構成 • 画面を構成するパーツは3つ 1. UITextView 2.
UILabel 3. UIButton
10.
画面仕様 • UITextFieldに対してテキスト を入力すると、入力した文字 列がUILabelに反映される • UITextFieldsに入力された文字 が8文字以上になったら UIButtonをenableにし、8文 字未満の場合はdisableにする
11.
ViewModel • 入力されたテキストをObservableで保持 • ObservableはSwiftBondで用意されている ラッピングされた型を監視可能にするジェ ネリッククラス
12.
Binding
13.
• ->> は単方向バインディングを行うための SwiftBondで定義されている演算子 Binding
14.
• プロパティにあるbnd_textはSwiftBondの中で extension定義されている Binding
15.
• textFieldに入力されたテキストとViewModel のtextをバインディング Binding
16.
• viewModelのtextとlabelのテキストをバイン ディング Binding
17.
• この2つの処理でtextFieldに入力された文字列 がlabelにも反映されるように Binding
18.
• viewModelの文字数とbuttonのenableをバイ ンディング Binding
19.
• viewModel.textの文字数が8文字以上でbuttonをenable • viewModel.textの文字数が8文字未満でbuttonをdisable Binding
20.
• viewModelのtextをmap関数でカウント Binding
21.
• 文字数カウントの結果をbindTo関数で buttonのenableとバインディング Binding
22.
• 簡単だけど意外と面倒な処理が簡単に書けた • delegate処理を書かなくても良かった •
初見だと分からないので、複数人で開発するプロジェ クトに入れるの大変そう まとめ
23.
以上です
Download now