Submit Search
Upload
AFNetworking使ってみた
•
Download as KEY, PDF
•
9 likes
•
4,939 views
Taro Matsuzawa
Follow
iOS向けのネットワークアクセスのためのフレームワーク、AFNetworkingを使っているので紹介。
Read less
Read more
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 16
Download now
Recommended
Go conference 2017 Lightning talk
Go conference 2017 Lightning talk
mokelab
JavaScript入門
JavaScript入門
Ryo Maruyama
いまさら聞けないselectあれこれ
いまさら聞けないselectあれこれ
lestrrat
OSSの敵になるのもいいじゃない
OSSの敵になるのもいいじゃない
lestrrat
Deep Dive async/await in Unity with UniTask(UniRx.Async)
Deep Dive async/await in Unity with UniTask(UniRx.Async)
Yoshifumi Kawai
C#次世代非同期処理概観 - Task vs Reactive Extensions
C#次世代非同期処理概観 - Task vs Reactive Extensions
Yoshifumi Kawai
Git
Git
Appresso Engineering Team
2017-12-04 Linuxの基本構造とBashでの扱い方
2017-12-04 Linuxの基本構造とBashでの扱い方
浩平 渡邉
Recommended
Go conference 2017 Lightning talk
Go conference 2017 Lightning talk
mokelab
JavaScript入門
JavaScript入門
Ryo Maruyama
いまさら聞けないselectあれこれ
いまさら聞けないselectあれこれ
lestrrat
OSSの敵になるのもいいじゃない
OSSの敵になるのもいいじゃない
lestrrat
Deep Dive async/await in Unity with UniTask(UniRx.Async)
Deep Dive async/await in Unity with UniTask(UniRx.Async)
Yoshifumi Kawai
C#次世代非同期処理概観 - Task vs Reactive Extensions
C#次世代非同期処理概観 - Task vs Reactive Extensions
Yoshifumi Kawai
Git
Git
Appresso Engineering Team
2017-12-04 Linuxの基本構造とBashでの扱い方
2017-12-04 Linuxの基本構造とBashでの扱い方
浩平 渡邉
仕事でも Groovy を使おう!
仕事でも Groovy を使おう!
Oda Shinsuke
Dotnetconf2017
Dotnetconf2017
Yoshiyuki Taniguchi
Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門
Hironori Sekine
Foss4 g2013 geoxcode_sengoku
Foss4 g2013 geoxcode_sengoku
Hiroaki Sengoku
Node.js - sleep sort algorithm
Node.js - sleep sort algorithm
takesako
Twitter sphere of #twitter4j #twtr_hack
Twitter sphere of #twitter4j #twtr_hack
kimukou_26 Kimukou
メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?
Takuya Ueda
Google Apps Scirpt勉強会 #1
Google Apps Scirpt勉強会 #1
ikikko
OpenGLプログラミング
OpenGLプログラミング
幸雄 村上
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
Masamitsu Maehara
Movable Type 6の新機能 Data APIの活用法
Movable Type 6の新機能 Data APIの活用法
Hajime Fujimoto
Silex入門
Silex入門
Takuya Sato
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
Takayuki Shimizukawa
Node-v0.12の新機能について
Node-v0.12の新機能について
shigeki_ohtsu
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Shoot Morii
Android gameprogramming
Android gameprogramming
Masahiro Hidaka
ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方
Yosuke Furukawa
Data APIの背景と活用方法 MTCafe Nagoya Ver.
Data APIの背景と活用方法 MTCafe Nagoya Ver.
Hajime Fujimoto
WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側
Yusuke Naka
Klabの梅雨対策
Klabの梅雨対策
Hideyuki TAKEI
タイルの話
タイルの話
Taro Matsuzawa
地球地図を利用した地図タイルの作成 - FOSS4G TOKYO 2014 全体セッション2
地球地図を利用した地図タイルの作成 - FOSS4G TOKYO 2014 全体セッション2
Taro Matsuzawa
More Related Content
Similar to AFNetworking使ってみた
仕事でも Groovy を使おう!
仕事でも Groovy を使おう!
Oda Shinsuke
Dotnetconf2017
Dotnetconf2017
Yoshiyuki Taniguchi
Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門
Hironori Sekine
Foss4 g2013 geoxcode_sengoku
Foss4 g2013 geoxcode_sengoku
Hiroaki Sengoku
Node.js - sleep sort algorithm
Node.js - sleep sort algorithm
takesako
Twitter sphere of #twitter4j #twtr_hack
Twitter sphere of #twitter4j #twtr_hack
kimukou_26 Kimukou
メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?
Takuya Ueda
Google Apps Scirpt勉強会 #1
Google Apps Scirpt勉強会 #1
ikikko
OpenGLプログラミング
OpenGLプログラミング
幸雄 村上
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
Masamitsu Maehara
Movable Type 6の新機能 Data APIの活用法
Movable Type 6の新機能 Data APIの活用法
Hajime Fujimoto
Silex入門
Silex入門
Takuya Sato
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
Takayuki Shimizukawa
Node-v0.12の新機能について
Node-v0.12の新機能について
shigeki_ohtsu
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Shoot Morii
Android gameprogramming
Android gameprogramming
Masahiro Hidaka
ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方
Yosuke Furukawa
Data APIの背景と活用方法 MTCafe Nagoya Ver.
Data APIの背景と活用方法 MTCafe Nagoya Ver.
Hajime Fujimoto
WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側
Yusuke Naka
Klabの梅雨対策
Klabの梅雨対策
Hideyuki TAKEI
Similar to AFNetworking使ってみた
(20)
仕事でも Groovy を使おう!
仕事でも Groovy を使おう!
Dotnetconf2017
Dotnetconf2017
Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門
Foss4 g2013 geoxcode_sengoku
Foss4 g2013 geoxcode_sengoku
Node.js - sleep sort algorithm
Node.js - sleep sort algorithm
Twitter sphere of #twitter4j #twtr_hack
Twitter sphere of #twitter4j #twtr_hack
メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?
Google Apps Scirpt勉強会 #1
Google Apps Scirpt勉強会 #1
OpenGLプログラミング
OpenGLプログラミング
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
Movable Type 6の新機能 Data APIの活用法
Movable Type 6の新機能 Data APIの活用法
Silex入門
Silex入門
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
Node-v0.12の新機能について
Node-v0.12の新機能について
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Android gameprogramming
Android gameprogramming
ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方
Data APIの背景と活用方法 MTCafe Nagoya Ver.
Data APIの背景と活用方法 MTCafe Nagoya Ver.
WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側
Klabの梅雨対策
Klabの梅雨対策
More from Taro Matsuzawa
タイルの話
タイルの話
Taro Matsuzawa
地球地図を利用した地図タイルの作成 - FOSS4G TOKYO 2014 全体セッション2
地球地図を利用した地図タイルの作成 - FOSS4G TOKYO 2014 全体セッション2
Taro Matsuzawa
Couchbase hackaton pomo
Couchbase hackaton pomo
Taro Matsuzawa
11月のささみ: pgRoutingって何?
11月のささみ: pgRoutingって何?
Taro Matsuzawa
OSMを使ったスマホ&Web開発入門
OSMを使ったスマホ&Web開発入門
Taro Matsuzawa
ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜
Taro Matsuzawa
スマホ開発者も使えるWireshark
スマホ開発者も使えるWireshark
Taro Matsuzawa
来年のLLeventのお知らせ @ OSC2011 Tokyo/Fall
来年のLLeventのお知らせ @ OSC2011 Tokyo/Fall
Taro Matsuzawa
スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化
スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化
Taro Matsuzawa
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた
Taro Matsuzawa
ベトナムにRoRを教えに行ったら大変なお土産をもらったでござる
ベトナムにRoRを教えに行ったら大変なお土産をもらったでござる
Taro Matsuzawa
デバッガを使おう@ブラウザ勉強会#1
デバッガを使おう@ブラウザ勉強会#1
Taro Matsuzawa
(元)コミュニティメンバーから見たMozilla / Firefoxの歴史と展望@Browser Workshop
(元)コミュニティメンバーから見たMozilla / Firefoxの歴史と展望@Browser Workshop
Taro Matsuzawa
デコメを送る
デコメを送る
Taro Matsuzawa
Mozilla コアハッカー育成計画(PDF)
Mozilla コアハッカー育成計画(PDF)
Taro Matsuzawa
Mozilla コアハッカー育成計画
Mozilla コアハッカー育成計画
Taro Matsuzawa
More from Taro Matsuzawa
(16)
タイルの話
タイルの話
地球地図を利用した地図タイルの作成 - FOSS4G TOKYO 2014 全体セッション2
地球地図を利用した地図タイルの作成 - FOSS4G TOKYO 2014 全体セッション2
Couchbase hackaton pomo
Couchbase hackaton pomo
11月のささみ: pgRoutingって何?
11月のささみ: pgRoutingって何?
OSMを使ったスマホ&Web開発入門
OSMを使ったスマホ&Web開発入門
ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜
スマホ開発者も使えるWireshark
スマホ開発者も使えるWireshark
来年のLLeventのお知らせ @ OSC2011 Tokyo/Fall
来年のLLeventのお知らせ @ OSC2011 Tokyo/Fall
スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化
スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた
ベトナムにRoRを教えに行ったら大変なお土産をもらったでござる
ベトナムにRoRを教えに行ったら大変なお土産をもらったでござる
デバッガを使おう@ブラウザ勉強会#1
デバッガを使おう@ブラウザ勉強会#1
(元)コミュニティメンバーから見たMozilla / Firefoxの歴史と展望@Browser Workshop
(元)コミュニティメンバーから見たMozilla / Firefoxの歴史と展望@Browser Workshop
デコメを送る
デコメを送る
Mozilla コアハッカー育成計画(PDF)
Mozilla コアハッカー育成計画(PDF)
Mozilla コアハッカー育成計画
Mozilla コアハッカー育成計画
AFNetworking使ってみた
1.
AFNetwoking
使ってみた Taro Matsuzawa aka. btm (@smellman) Georepublic Japan 2012.06.23 sumaben@kanto LT
2.
だれ? • すまべん@関東スタッフ • Firefox
Hacks Rebooted(Oreilly Japan)の著 者の一人) • 6月に転職&日本UNIXユーザ会幹事に • 前職でelecomaとかhadakaroidとか • 破滅界隈らしい
3.
4.
宣伝 • LL Decade
2012/08/04 銀座ブロッサムで 開催 • @oota_kenさんも出るよ! • 詳しくは http://ll.jus.or.jp/2012/ • スマートフォンかんけーねー
5.
遅刻した • G-空間Expo(パシフィコ横浜)で開催され たGeo
Media Summitに出席 • 仕事に近いので • 事前にスタッフには遅刻の旨は連絡す み...
6.
遅刻したら LTやることになった
7.
AFNetworking • iOS向けのネットワークアクセスのため
のフレームワーク • Facebookに買収されたチェックイン系 サービスの会社が開発していたもの • https://github.com/AFNetworking/ AFNetworking
8.
特徴 • NSURLConnection, NSOperationなどの普
通に使われている技術しか使ってない • 魔窟っぽくない • MITライセンス
9.
サンプルコード // URLを作成 NSURL *url
= [NSURL URLWithString:@"http:// api.twitter.com/1/statuses/public_timeline.json"]; // URLからRequestを作成 NSURLRequest *request = [NSURLRequest requestWithURL:url]; // operationを作成 AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) { NSLog(@"Public Timeline: %@", JSON); } failure:nil]; // operationをstartさせる [operation start];
10.
とても簡単 • AF*OperationはNSOperationを継承して いるためQueueなんかも簡単に作れる •
失敗か成功かをBlockで処理すればいい • JSONなんかも自動的にオブジェクトに してくれるAFJSON*というのがある
11.
queue // Queue本体作成 NSOperationQueue *queue
= [[NSOperationQueue alloc] init]; ... // operationを作成 AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) { NSLog(@"Public Timeline: %@", JSON); } failure:nil]; // queueにぶち込む [queue addOperation:operation]; //[operation start];
12.
block渡し(1) // operationを作成 AFJSONRequestOperation *operation
= [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) { NSLog(@"Public Timeline: %@", JSON); } failure:nil];
13.
block渡し(2) /* メソッド */ -(void)access:(NSURLRequest*)
request withSuccessBlock:(void (^) (AFHTTPRequestOperation*, id))success failure:(void (^)(AFHTTPRequestOperation*, NSError*))failure { AFJSONRequestOperation *operation = [[AFJSONRequestOperation alloc] initWithRequest:request]; [operation setCompletionBlockWithSuccess:success failure:failure]; [_queue addOperation:operation]; } /* 実装コード */ NSURLRequest *_request = [self requestForURLString:hoge withParams:_params]; [self access:_request withSuccessBlock:^(AFHTTPRequestOperation *operation, id JSON) { .... } failure:^(AFHTTPRequestOperation *operation, NSError *err) { .... }];
14.
JSON変換 // operationを作成 AFJSONRequestOperation *operation
= [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) { NSString *status = [JSON valueForKeyPath:@"STAT"]; NSNumber *num = [JSON valueForKeyPath:@”num”]; NSArray *values = [JSON valueForKeyPath:@”values”]; for (NSDictionary value in values) { .... } } failure:nil];
15.
使うまで • zipを展開してxcodeにぶちこむ • ARCが有効だとエラーがでるので
Compiler Flagsに -fno-objc-arc を追加 • あとは #include でOK。
16.
おしまい
Editor's Notes
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Download now