AFNetwoking   使ってみたTaro Matsuzawa aka. btm (@smellman)         Georepublic Japan   2012.06.23 sumaben@kanto LT
だれ?• すまべん@関東スタッフ• Firefox Hacks Rebooted(Oreilly Japan)の著  者の一人)• 6月に転職&日本UNIXユーザ会幹事に• 前職でelecomaとかhadakaroidとか• 破滅界隈らしい
宣伝• LL Decade 2012/08/04 銀座ブロッサムで  開催• @oota_kenさんも出るよ!• 詳しくは http://ll.jus.or.jp/2012/• スマートフォンかんけーねー
遅刻した• G-空間Expo(パシフィコ横浜)で開催され たGeo Media Summitに出席 • 仕事に近いので• 事前にスタッフには遅刻の旨は連絡す み...
遅刻したらLTやることになった
AFNetworking• iOS向けのネットワークアクセスのため  のフレームワーク • Facebookに買収されたチェックイン系    サービスの会社が開発していたもの• https://github.com/AFNetworking/ ...
特徴• NSURLConnection, NSOperationなどの普 通に使われている技術しか使ってない • 魔窟っぽくない• MITライセンス
サンプルコード// URLを作成NSURL *url = [NSURL URLWithString:@"http://api.twitter.com/1/statuses/public_timeline.json"];// URLからReque...
とても簡単• AF*OperationはNSOperationを継承して いるためQueueなんかも簡単に作れる• 失敗か成功かをBlockで処理すればいい• JSONなんかも自動的にオブジェクトに してくれるAFJSON*というのがある
queue// Queue本体作成NSOperationQueue *queue = [[NSOperationQueue alloc] init];...// operationを作成AFJSONRequestOperation *opera...
block渡し(1)// operationを作成AFJSONRequestOperation *operation =[AFJSONRequestOperationJSONRequestOperationWithRequest:request...
block渡し(2)/* メソッド */-(void)access:(NSURLRequest*) request withSuccessBlock:(void (^)(AFHTTPRequestOperation*, id))success ...
JSON変換// operationを作成AFJSONRequestOperation *operation = [AFJSONRequestOperationJSONRequestOperationWithRequest:requestsuc...
使うまで• zipを展開してxcodeにぶちこむ• ARCが有効だとエラーがでるので Compiler Flagsに -fno-objc-arc を追加• あとは #include でOK。
おしまい
AFNetworking使ってみた
Upcoming SlideShare
Loading in …5
×

AFNetworking使ってみた

8,230 views
8,008 views

Published on

iOS向けのネットワークアクセスのためのフレームワーク、AFNetworkingを使っているので紹介。

0 Comments
9 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
8,230
On SlideShare
0
From Embeds
0
Number of Embeds
37
Actions
Shares
0
Downloads
12
Comments
0
Likes
9
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • AFNetworking使ってみた

    1. 1. AFNetwoking 使ってみたTaro Matsuzawa aka. btm (@smellman) Georepublic Japan 2012.06.23 sumaben@kanto LT
    2. 2. だれ?• すまべん@関東スタッフ• Firefox Hacks Rebooted(Oreilly Japan)の著 者の一人)• 6月に転職&日本UNIXユーザ会幹事に• 前職でelecomaとかhadakaroidとか• 破滅界隈らしい
    3. 3. 宣伝• LL Decade 2012/08/04 銀座ブロッサムで 開催• @oota_kenさんも出るよ!• 詳しくは http://ll.jus.or.jp/2012/• スマートフォンかんけーねー
    4. 4. 遅刻した• G-空間Expo(パシフィコ横浜)で開催され たGeo Media Summitに出席 • 仕事に近いので• 事前にスタッフには遅刻の旨は連絡す み...
    5. 5. 遅刻したらLTやることになった
    6. 6. AFNetworking• iOS向けのネットワークアクセスのため のフレームワーク • Facebookに買収されたチェックイン系 サービスの会社が開発していたもの• https://github.com/AFNetworking/ AFNetworking
    7. 7. 特徴• NSURLConnection, NSOperationなどの普 通に使われている技術しか使ってない • 魔窟っぽくない• MITライセンス
    8. 8. サンプルコード// URLを作成NSURL *url = [NSURL URLWithString:@"http://api.twitter.com/1/statuses/public_timeline.json"];// URLからRequestを作成NSURLRequest *request = [NSURLRequest requestWithURL:url];// operationを作成AFJSONRequestOperation *operation =[AFJSONRequestOperationJSONRequestOperationWithRequest:requestsuccess:^(NSURLRequest *request, NSHTTPURLResponse*response, id JSON) { NSLog(@"Public Timeline: %@", JSON);} failure:nil];// operationをstartさせる[operation start];
    9. 9. とても簡単• AF*OperationはNSOperationを継承して いるためQueueなんかも簡単に作れる• 失敗か成功かをBlockで処理すればいい• JSONなんかも自動的にオブジェクトに してくれるAFJSON*というのがある
    10. 10. queue// Queue本体作成NSOperationQueue *queue = [[NSOperationQueue alloc] init];...// operationを作成AFJSONRequestOperation *operation =[AFJSONRequestOperationJSONRequestOperationWithRequest:requestsuccess:^(NSURLRequest *request, NSHTTPURLResponse*response, id JSON) { NSLog(@"Public Timeline: %@", JSON);} failure:nil];// queueにぶち込む[queue addOperation:operation];//[operation start];
    11. 11. block渡し(1)// operationを作成AFJSONRequestOperation *operation =[AFJSONRequestOperationJSONRequestOperationWithRequest:requestsuccess:^(NSURLRequest *request,NSHTTPURLResponse *response, id JSON) { NSLog(@"Public Timeline: %@", JSON);} failure:nil];
    12. 12. 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) { .... }];
    13. 13. JSON変換// operationを作成AFJSONRequestOperation *operation = [AFJSONRequestOperationJSONRequestOperationWithRequest:requestsuccess:^(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];
    14. 14. 使うまで• zipを展開してxcodeにぶちこむ• ARCが有効だとエラーがでるので Compiler Flagsに -fno-objc-arc を追加• あとは #include でOK。
    15. 15. おしまい

    ×